我正在尝试扫描无线网络,并在网上找到了这个有用的资源。 不幸的是它不起作用,我不知道为什么。我的问题是我不能等 10 分钟才能得到结果——我在几秒钟内就需要它们,并考虑在我得到结果后立即将 bool 变量设置为假……好吧,它会永远运行…… . 看起来什么都没有收到。任何想法 ?谢谢。
// -- Sample WiFi implementation - http://groups.google.com/group/android-developers/browse_thread/thread/f722d5f90cfae69
IntentFilter i = new IntentFilter();
i.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context c, Intent i){
// Code to execute when SCAN_RESULTS_AVAILABLE_ACTION event occurs
mWifiManager = (WifiManager) c.getSystemService(Context.WIFI_SERVICE);
wireless = mWifiManager.getScanResults(); // Returns a <list> of scanResults
waiting = false;
}
}
,i);
// -- End Wifi Sample
mWifiManager.startScan();
while (waiting) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("PROJECT1","Wifi WAITING");
}
最佳答案
您需要实现一个 BroadcastReceiver 来监听 WifiManager.startScan() 返回的扫描结果。 onReceive()
允许您直接访问扫描结果。
扫描完成并触发 onReceive()
...
关于Android 扫描 Wifi 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981751/