12

既知の wifi ネットワークが範囲内または範囲外になったときにアクションを実行するアプリケーションを作成したいと考えています。

たとえば、自宅の Wi-Fi ネットワークの SSIS が「WifiHome」で、「家を出たばかりです」という通知を作成したいとします。デバイスがこの特定のネットワークを検出できなくなったときはいつでも。(または、デバイスがこのネットワークからの信号を再検出したときに、「あなたはちょうど家に入りました」)。

私の質問は次のとおりです: available-network-list を頻繁にポーリングせずに、これらの変更をリッスンすることは可能ですか?

4

1 に答える 1

13

ブロードキャスト イベントSCAN_RESULTS_AVAILABLE_ACTIONをリッスンする必要があります。これは、Wi-Fi スキャンが完了するたびに送信されます。このようなイベントが発生した場合は、WifiManager のgetScanResultsを介して取得できるスキャン結果を繰り返すだけです。

Wi-Fi がアクティブな場合、数秒ごとにこのブロードキャストを受信します。しかし、この間隔を構成する方法はなく、各メーカーがこの間隔を変更する可能性があると思います。

WifiManager のstartScanを使用して、Wi-Fi スキャンを手動でトリガーできます。

于 2011-05-12T19:19:00.490 に答える