我目前正在撰写关于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找到整个应用程序。