WifiManager getConnectionInfo() 在 Android API 级别 31 中已弃用
我们使用 Wifimanger getConnectionInfo() 方法来获取连接的 wifi 的 SSID 和 BBSID。 但从 Andorid API level 31 开始,Android 已弃用 getConnectionInfo() 方法。
他们提供的使用 getTransportInfo() 的解决方案需要最低 Android 级别 29,鉴于我们 20% 的用户仍然使用低于 29 的 Android API 级别,因此我们无法定位该级别
。有人可以帮助使用替代方法来连接 wifi。
https://developer.android.com/reference/android/net /wifi/WifiManager#getConnectionInfo()
We uses Wifimanger getConnectionInfo() method to get SSID and BBSID of connected wifi.
But starting with Andorid API level 31 , Android has deprecated the getConnectionInfo() method.
The solution that they have provided to use getTransportInfo() required minimum Android level 29 which we cannot target , given our 20 percent user still on Android API level below 29.
Can someone help with the alternative method to get connected wifi.
https://developer.android.com/reference/android/net/wifi/WifiManager#getConnectionInfo()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 NetworkCallback() 来代替。
您需要将
FLAG_INCLUDE_LOCATION_INFO
传递给NetworkCallback()
,否则您只会得到“未知 SSID”。此外,您还需要
ACCESS_NETWORK_STATE
和ACCESS_FINE_LOCATION
权限才能使其正常工作。请参阅此处。
You can use
NetworkCallback()
instead.You need to pass
FLAG_INCLUDE_LOCATION_INFO
toNetworkCallback()
, otherwise you will get "unknown SSID" only.Also, you need the
ACCESS_NETWORK_STATE
andACCESS_FINE_LOCATION
permissions to make it work.Refer to here.