如何解决在 Android 10 中获取接入点的 mac 地址
我正在尝试通过以下方式获取我的设备在 Android 10 中连接到的接入点的 mac 地址
WifiManager wifiManager = (WifiManager) applicationContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.getConnectionInfo().getBSSID(); //always gets 02:00:00:00:00:00
正如它所写的https://developer.android.com/reference/android/net/wifi/WifiInfo#getBSSID(),只有当我缺少权利时才会出现这个结果
我有以下权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我还需要什么?
以前有人问过这个问题,但我只找到了多年且在 Android 10 中不起作用的答案。 感谢您的帮助
解决方法
正如它所写的那样https://developer.android.com/reference/android/net/wifi/WifiInfo#getBSSID()
getBSSID
返回 "02:00:00:00:00:00"
,如果调用方没有足够的权限访问 BSSID。
您已在清单中添加了以下权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
但是您需要获得运行时权限才能获得上述权限。
请从以下 URL 查看 Android 文档以了解如何实现运行时权限请求。
https://developer.android.com/training/permissions/requesting
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。