2012-03-12 3 views
3

ブロードキャスト受信者SUPPLICANT_STATE_CHANGED_ACTIONに登録しています。ここでは、Wi-Fiサプリカント状態の変更を監視しています。サプリカント状態変更ブロードキャスト受信者からWiFiアクセスポイントのSSIDを取得する方法

無線懇願状態が接続されているか切断されている場合、このSSIDに接続/切断されているという旨のユーザーにToastメッセージを表示します。

ブロードキャスト受信機SUPPLICANT_STATE_CHANGED_ACTIONから、このイベントが発生したか、ブロードキャストが受信されたSSIDを取得する方法を知りません。

ありがとうございました。

答えて

0

は、Wi-Fi接続の状態が変更されたことを示すNETWORK_STATE_CHANGED_ACTION

放送の意図アクションを使用してみてください。追加の1つは、NetworkInfoオブジェクトの形式で新しい状態を提供します。新しい状態がCONNECTEDの場合、追加の追加機能がアクセスポイントのBSSIDとWifiInfoを提供することがあります。ストリングとして。

+1

しかし、WiFiが接続されていない場合は、Wi-Fi 'SSID'が切断されているというメッセージを表示する必要があります。このブロードキャストは、接続された状態の場合のみ、WiFiアクセスポイントに関する情報を提供します。私は接続状態と切断状態の両方でssidが必要です。 – User7723337

1

SSIDを取得するためにWifiManagerを使用してください。

また、「切断」ブロードキャストを受信したときに表示するには、SSIDを環境設定に保存する必要があります。変数にSSIDを格納することは、いつでもガベージコレクタによって削除できるため、安全ではありません。

+0

実行中のコードからアクセスできなくなったときにガベージコレクタによって削除されるだけでなく、それがもはや必要なくなったのでしょうか? – Ren

+0

これは、ブロードキャスト受信機の登録方法によって異なります。マニフェストに登録した場合、受信者はメモリを解放したときにも動作します。この場合は、環境設定を使用する必要があります。実行時にレシーバを登録すると、変数にSSIDを保存できます。 – vyndor

関連する問題