如果我使用 API 27 编译但目标 API 25,我将正确获取这些值。如果我将 targetSdkVersion 设置为 27,则不会正确检索这些值。
针对 SDK 25 或更少,值是正确的,但针对 26 或更多,我得到这些值:
SSID 给出 <unknown ssid>
BBSSID 给出 02:00:00:00:00:00
这些是我的 list 权限,都是正常权限,不需要用户授予:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
这是示例代码:
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
WifiInfo connectionInfo = wifiManager.getConnectionInfo();
connectionInfo.getSSID();
connectionInfo.getBSSID();
针对 SDK 26 或更高版本时发生了什么变化?我们还应该做些什么来获得这些值(value)?
最佳答案
您需要从 API 27 开始的位置权限
关于android - 如果 targetSdkVersion >= 26,WifiManager.WifiInfo getSSID 和 getBSSID 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224762/