gpt4 book ai didi

android - 从 ConnectivityManager NetworkCapabilities 同步获取 Wifi SSID

转载 作者:行者123 更新时间:2023-12-04 23:58:38 24 4
gpt4 key购买 nike

目前,获取 Android 设备所连接的 Wifi 网络的 SSID 最流行的方法是使用 WifiManager 的 getConnectionInfo() 方法。但是,该方法在 API 级别 31 中已弃用。根据文档,我们应该使用 ConnectivityManager 的 getNetworkCapabilities() 方法来获取 Wifi 信息。不幸的是,文档指出

This will remove any location sensitive data in TransportInfo embedded in NetworkCapabilities#getTransportInfo(). Some transport info instances like WifiInfo contain location sensitive information. Retrieving this location sensitive information (subject to app's location permissions) will be noted by system. To include any location sensitive data in TransportInfo, use a NetworkCallback with NetworkCallback#FLAG_INCLUDE_LOCATION_INFO flag.


似乎现在获取 SSID 的唯一方法是使用 FLAG_INCLUDE_LOCATION_INFO 标志注册 NetworkCallback 并等待回调被调用。这不是旧方法的合适替代品,因为旧方法是同步的并且可以按需调用。目前有什么方法可以在不使用已弃用的 getConnectionInfo() 方法的情况下同步获取 Wifi SSID?

最佳答案

我也有这个问题。您需要同步查询吗?你能不能只存储 onCapabilitiesChanged() 的最后一个 SSID 输出?在 livedata 对象中,this是一个非常好的资源来帮助你做到这一点。不幸的是,我的代码仍然使用传输信息给我空的 SSID 信息。你能分享你的代码吗?

关于android - 从 ConnectivityManager NetworkCapabilities 同步获取 Wifi SSID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71281724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com