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