use*_*777 4 android android-wifi
我正在编写一个代码,用于连续获取范围内所有接入点的信息。
这是我的代码:
myRunnable = new Runnable() {
@Override public void run() {
while(){
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.startScan();
List<ScanResult>results= wifi.getScanResults();
try{
//data Logging
}
}
}
};
myThread = new Thread(myRunnable);
myThread.start();
Run Code Online (Sandbox Code Playgroud)
由于数据的扫描和记录不断重复,我想在记录数据之前检查扫描是否完成。在记录数据之前,是否有任何标志或函数检查 wifi.startScan() 是否完整。你能帮我出一个代码吗?
我想在记录数据之前检查扫描是否完成。在记录数据之前,是否有任何标志或函数检查 wifi.startScan() 是否完整。你能帮我出一个代码吗?
是的,有为此目的指定的机制。为了实现您的目标,您需要实现BroadcastReceiver将侦听WiFi扫描。
您所需要的只是BroadcastReceiver使用适当的IntentFilter. 所以你需要这个过滤器操作:
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
Run Code Online (Sandbox Code Playgroud)
此操作意味着访问点扫描已完成,并且结果可用。然后就创建BroadcastReceiver(静态或动态,没关系)。
如果你不知道如何开始,看看这个教程: