我目前正在做关于 WiFi 定位的硕士论文,为了测试我的算法,我需要收集一些数据。
为此,我为 Android 编写了一个简短且非常简单的程序,它简单地收集每次扫描找到的所有可用接入点的 RSSI 并将它们保存到文件中。我已经设置了一个BroadcastReceiver
监听事件的设备WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
,并且我使用了一个Timer
(这里称为 tim)来启动一个WifiManager
名为 wifi 的扫描,如下所示:
tim.schedule(new TimerTask(){
@Override
public void run(){
wifi.startScan();
}
}, 0, 1000);
我现在遇到的问题是,即使我成功启动它们,启动的扫描似乎也不会每秒钟发生一次,并且时不时地还会有其他一些从其他应用程序启动的扫描也被记录下来。
是否有任何简单的方法可以按设定的时间间隔进行扫描并且不接收由其他应用程序启动的扫描?
如果有任何帮助,可以在https://github.com/while/RSSIMiner上找到整个应用程序。