kev*_*liu 9 android connectivity ssid wifi
目前,获取 Android 设备连接的 Wifi 网络 SSID 最流行的方法是使用 WifiManager 的 getConnectionInfo() 方法。但是,该方法在 API 级别 31 中已被弃用。根据文档,我们预计使用 ConnectivityManager 的 getNetworkCapability() 方法来获取 Wifi 信息。不幸的是,文档指出
这将删除 NetworkCapability#getTransportInfo() 中嵌入的 TransportInfo 中的所有位置敏感数据。某些传输信息实例(例如 WifiInfo)包含位置敏感信息。系统将记录检索此位置敏感信息(取决于应用程序的位置权限)。要在 TransportInfo 中包含任何位置敏感数据,请使用带有 NetworkCallback#FLAG_INCLUDE_LOCATION_INFO 标志的 NetworkCallback。
现在获取 SSID 的唯一方法似乎是使用 FLAG_INCLUDE_LOCATION_INFO 标志注册 NetworkCallback 并等待回调被调用。这不是旧方法的合适替代品,因为旧方法是同步的并且可以按需调用。目前是否有任何方法可以同步获取 Wifi SSID,而不使用已弃用的 getConnectionInfo() 方法?