gpt4 book ai didi

android - Wifi getSSID() 返回 null

转载 作者:行者123 更新时间:2023-11-29 14:32:40 25 4
gpt4 key购买 nike

一旦建立新连接,我就使用 getSSID() 获取 wifi 网络的名称。但有时我会为该值得到空值。这是我的代码:

list 中的权限是正确的,因为正如我所说,大多数时候它都有效。

我将这个过滤器用于广播接收器:

<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />

在广播中我这样做:

if("android.net.wifi.supplicant.CONNECTION_CHANGE".equals(intent.getAction()))
{ boolean bConected = intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false);
if(bConnected == true)
{ WifiManager wifi = (WifiManager) Contexto.getSystemService(Context.WIFI_SERVICE);
String MyName = wifi.getConnectionInfo().getSSID();
Sometimes MyName is null here even if Wifi is connected correctly
}
}

有什么想法吗?

最佳答案

我经常使用类似的代码,并且在连接时我从未收到过 null

这是我的代码:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String myName = info.getSSID();

因此,我建议您在收到 CONNECTION_CHANGE 广播后等待 400 到 1000 毫秒左右,然后再请求信息。


这是一个实现延迟的例子:

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String myName = info.getSSID();
}
}, 1000);

关于android - Wifi getSSID() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709422/

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