gpt4 book ai didi

android - 无法在 Android 12 中使用 onCapabilitiesChanged 获取 WIFI SSID

转载 作者:行者123 更新时间:2023-12-04 23:42:13 60 4
gpt4 key购买 nike

说明
我无法使用 onCapabilitiesChanged 获取 WIFI SSID在 ConnectivityManager.NetworkCallback Android-12 中的类。
在 Android-12 中,不推荐使用 getConnectionInfo。因此,正如 android 文档所暗示的,我正在尝试获取 WifiInfo对象使用 onCapabilitiesChanged .
像这样,

@Override
public void onCapabilitiesChanged(@NonNull Network network, @NonNull NetworkCapabilities networkCapabilities) {
super.onCapabilitiesChanged(network, networkCapabilities);
WifiInfo wifiInfo = (WifiInfo) networkCapabilities.getTransportInfo();
}
但是,当我打印 WifiInfo目的。它将打印 SSID:<未知 ssid> getHiddenSSID返回真。
意外的行为是,
Android-12 设备与一个 WIFI 连接(例如 ABC)
  • 当我尝试使用 getConnectionInfo 获取 WIFI SSID 时.它返回
    SSID:ABC 和 getHiddenSSID:假
  • 但是,对于同一个网络,当我尝试使用 WIFI SSIDonCapabilitiesChanged ,它返回 SSID:
    getHiddenSSID : 真

  • 注意:提供位置权限。

    最佳答案

    折腾了几天,终于找到为什么我在onCapabilitiesChanged中没有得到SSID .
    我们需要通过FLAG_INCLUDE_LOCATION_INFOConnectivityManager.NetworkCallback创建对象时的构造函数。
    在默认构造函数中,位置敏感信息是隐藏的,因为我们无法在 onCapabilitiesChanged 中获取 SSID .一旦我们创建 NetworkCallback带有标志的对象,我们将获得 SSID。
    Link

    关于android - 无法在 Android 12 中使用 onCapabilitiesChanged 获取 WIFI SSID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68665456/

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