我使用getSSID()獲取新網絡連接時的wifi網絡名稱。 但有時候我得到這個值爲空。這是我的代碼:Wifi getSSID()返回null
清單中的權限是正確的,因爲正如我所說的,它的大部分工作時間都是正確的。
我使用此過濾器的廣播接收器:
<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
}
}
任何想法?
我用這個,我工作得很好: String sWifiId = wifi.getConnectionInfo()。getSSID(); if(sWifiId == null) {for(int i = 1; i <= 10; i ++) {try {Thread.sleep(1000);} catch(InterruptedException e){}; sWifiId = wifi.getConnectionInfo()。getSSID();如果(sWifiId!= null) break; } } – Ton