私の Droid 2 では、wifi.getScanResults() が短時間古い値を返すようです。
これは、私が家にいる間、wifi.getScanResults() が私のホーム ネットワークを表示することを意味します。数マイル離れた通りをドライブしても、wifi.getScanResults() は最初の 1 ~ 2 回の試行でホーム ネットワークを表示します。3回目の試行で、ホームネットワークがなくなりました。
質問: 最新の wifi.getScanResults() のみを取得する方法はありますか?
可能なオプション:
- ScanResult の .level が最小の場合は、範囲外であると想定します。
- 文書化されていない API を使用して、何らかの方法で ScanResults をクリアし
ます。
次のようなコードがあります。
context.registerReceiver(this, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifi.startScan();
...
if (intent.getAction().equalsIgnoreCase(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))
{
List<ScanResult> results = wifi.getScanResults();
}