android - 在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
推荐阅读
- forms - 颤振等效于键上的字符串验证
- jquery - 根据不升序或降序的列值对表行重新排序
- javascript - 量角器 - 通过 count() 函数遍历所有元素对我不起作用
- r - 如何使用 str_detect 在两个不同的数据帧之间进行匹配?
- sql - SQL 语句中的合并语句在单个 SP 中添加、更新、删除
- java - QueryDsl 可以处理更大量的数据吗?
- python - python中的电报机器人代理
- javascript - 与子进程同步运行 JavaScript 的最佳方法是什么?
- android - 无法解析方法“addOnCompleteListener”和“setonclicklistener”
- mongodb - 加入mongo时火花结构化流中的巨大hadoop appdata