0
第一次啓用Wifi,然後禁用它一切都很好,但如果我嘗試重新啓用Wifi後(立即或等待移動數據再次連接)它會拋出一個NullPointerException並強制關閉。NullPointerException禁用WiFi狀態並嘗試再次啓用
private void toggleWifi(){
if (wifi == 0){
wifiManager.setWifiEnabled(true);
scanOnly = wifiManager.createWifiLock(WifiManager.WIFI_MODE_SCAN_ONLY, "scanOnly");
scanOnly.acquire();
bWifi.setText("Turn Wifi OFF");
List<ScanResult> wifiResults = wifiManager.getScanResults();
StringBuilder sb = new StringBuilder("Scan Results:\n");
sb.append("-----------------------\n");
for (ScanResult r : wifiResults) {
sb.append(r.SSID + " " + r.level + " dBM\n");
}
tvWifi.setText(sb.toString());
wifi = 1;
} else {
scanOnly.release();
wifiManager.setWifiEnabled(false);
bWifi.setText("Turn WiFi ON");
tvWifi.setText("");
wifi = 0;
}
}
的錯誤是在這條線:
for (ScanResult r : wifiResults) {
sb.append(r.SSID + " " + r.level + " dBM\n");
}
看來問題就在這裏。但是爲什麼我第二次運行它而不是第一次? – Rory 2012-04-05 01:58:44
@Rory我想,你應該等一段時間才能找到無線網絡 – 2012-04-05 06:24:31
我只是做了一點錯誤檢查,現在解決這個問題。感謝您的輸入! – Rory 2012-04-05 21:19:21