【发布时间】:2017-08-07 11:18:52
【问题描述】:
我正在尝试获取可用的 wifi 网络:
private WifiManager wifiManager;
private List<ScanResult> scanResults;
class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "onReceive");
scanResults = wifiManager.getScanResults();
Log.d(TAG, "" + scanResults.size());
for (ScanResult scanResult : scanResults) {
Log.d(TAG, scanResult.SSID);
}
}
}
private class TaskScan extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
wifiManager.setWifiEnabled(true);
wifiManager.startScan();
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiReceiver wifiReceiver = new WifiReceiver();
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
try {
(new TaskScan()).execute().get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
但关闭位置时,列表scanResults的大小始终为0。
是否有在未启用位置的情况下扫描 wifi 网络?
【问题讨论】:
标签: android broadcastreceiver android-wifi