1

デバイスがWiFiネットワークに接続されたときに反応する必要があるAndroid用のアプリケーションを作成しています。現在、BroadcastReceiverを使用してandroid.net.ConnectivityManager.CONNECTIVITY_ACTIONを監視するように実装しようとしています。これは正しいか、またはより適切な方法はありますか?

4

2 に答える 2

1

@ジェイス、受け取るには登録する必要がありますWifiManager.NETWORK_STATE_CHANGED_ACTION。インテントにはNetworkInfo余分なものがあります。その状態を見つけるためにそれを調べてください。状態がの場合NetworkInfo.State.CONNECTED、ネットワークに接続しています。

これを実現するためのサンプルコードについては、こちらをご覧ください。

于 2011-07-06T13:09:12.887 に答える
0

WifiManager.WIFI_STATE_CHANGED_ACTIONを見てください

Wi-Fiが有効、無効、有効、無効、または不明であることを示すブロードキャストインテントアクション。1つ余分に、この状態をintとして提供します。別のエクストラは、利用可能な場合、以前の状態を提供します。

およびWifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION

サプリカントへの接続が確立された(そしてWi-Fi操作を実行できるようになった)か、サプリカントへの接続が失われたことを示すブロードキャストインテントアクション。もう1つは、接続状態をブール値として提供します。trueはCONNECTEDを意味します。

放送から読むか、次のようなものを入手したらチェックしてください。

WifiManager wifi=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int state=wifi.getWifiState();

これで状態を確認できます。

  • WIFI_STATE_DISABLED
  • WIFI_STATE_DISABLING
  • WIFI_STATE_ENABLED <-これにより、データを送受信できます
  • WIFI_STATE_ENABLING
  • WIFI_STATE_UNKNOWN
于 2011-05-29T21:19:07.407 に答える