私は現在WiFiポジショニングについて修士論文を書いています。アルゴリズムをテストするために、いくつかのデータを収集する必要がありました。
これを行うために、各スキャンで検出されたすべての利用可能なアクセスポイントのRSSIを収集し、それらをファイルに保存する、Android用の短くて非常に単純なプログラムを作成しました。BroadcastReceiver
イベントをリッスンするを設定しました。ここではtimと呼ばれるWifiManager.SCAN_RESULTS_AVAILABLE_ACTION
を使用して、wifiと呼ばれるでスキャンを次のように開始します。Timer
WifiManager
tim.schedule(new TimerTask(){
@Override
public void run(){
wifi.startScan();
}
}, 0, 1000);
私が今抱えている問題は、開始に成功したとしても、開始されたスキャンが毎秒発生しないように見えることです。また、他のアプリから開始された他のスキャンも記録されることがあります。
設定された間隔でスキャンし、他のアプリによって開始されたスキャンを受信しない簡単な方法はありますか?
アプリ全体が何らかの形で役立つ場合は、 https://github.com/while/RSSIMinerで見つけることができます。