私は現在WiFiポジショニングのマスター論文をやり遂げており、アルゴリズムをテストするためにいくつかのデータを収集する必要がありました。AndroidでWiFiスキャン間隔を明示的に制御する方法はありますか?
これを行うには、Androidの簡単で簡単なプログラムを作成しました。各プログラムは、各スキャンで見つかった利用可能なすべてのアクセスポイントのRSSIを単純に収集し、ファイルに保存します。私は、イベントWifiManager.SCAN_RESULTS_AVAILABLE_ACTION
でリッスンBroadcastReceiver
を設定していると私はTimer
を使用し、ここでは次のように無線LANと呼ばれ、WifiManager
でスキャンを開始するために、ティムと呼ばれる:
tim.schedule(new TimerTask(){
@Override
public void run(){
wifi.startScan();
}
}, 0, 1000);
私は今が午前問題は、ということです開始されたスキャンは、私がそれらを開始することに成功しても毎秒起こるようには見えないし、他のアプリケーションから開始された他のスキャンも記録されます。
設定された間隔で簡単にスキャンして、他のアプリからスキャンを受信しないようにする方法はありますか?
アプリ全体はhttps://github.com/while/RSSIMinerにありますが、それが何らかの形で役立ちます。
それは素晴らしいニュースではありませんが、応答してくれてありがとう。私はこれが事実であると恐れた。私はギャラクシーネクサスとネクサス7の両方でアプリを試してみましたが、どちらも運行していませんでした。問題は私のモデルが定期的な間隔を取るので、私はそれが非均質なスキャン間隔を扱うためにそれを変更しなければならないと思うということです。 – while
奇妙なことは、500msに設定すると約1秒の間隔でどこかをスキャンすることです。ハードウェアをサポートする必要があるからです。 – while
そうです、私は最初の解決策で提案したように、必要な結果だけを選んで使用しなければなりません。これは、両方の問題を解決するのに役立ちます。 – Jong