:
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;
}
}
エラーは、このライン上にありますか?現在wifiResultsがnullである可能性があります
これは問題だと思われます。しかし、なぜ私はそれを実行する2回目はnullになるだろうが、最初の? – Rory
@Rory私は、無線LANがネットワークを見つける前にしばらく待つべきだと思っています。 –
私は今、問題を回避するために少しエラーをチェックしました。入力いただきありがとうございます! – Rory