2017-02-19 20 views
0

私はWi-Fi接続状態と切断状態を監視するブロードキャスト受信機が必要なアプリケーションを開発しています。 私は多くのコードを試してきましたが、多くのstackoverflow投稿を閲覧しましたが、成功しませんでした。 私はこのようなメソッド/コードが正しく動作していない、一部のコードが全く機能していない、一部が間違った情報を返している、一部がブロードキャストレシーバをクラッシュ/再起動しています。 したがって、4.0.3 Icecreamサンドイッチから始めて、アンドロイドのすべてのバージョンで動作するwifi接続/切断状態を監視する完全な証明方法はありますか? 助けていただければ幸いです。ブロードキャスト受信機を介してWifi接続状態と接続解除状態のモニタ

答えて

0

まず、ネットワーク変更イベントをリスンできるブロードキャスト受信機を定義する必要があります。今

public class NetworkChangeReceiver extends BroadcastReceiver { 

    public static final String TYPE_NET_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE"; 

    @Override 
    public void onReceive(final Context context, Intent intent) { 
     if (TYPE_NET_CONNECTIVITY_CHANGE.equals(intent.getAction())) { 
      boolean connected = NetworkStatus.isNetworkConnected(context); 
      if (connected) { 
       //Connected 

      } else { 
       //Disconnected 
      } 
     } 
    } 
} 

マニフェストのように、あなたの受信機を登録します -

<application 
     ...> 
    <receiver android:name=". NetworkChangeReceiver" > 
     <intent-filter> 
      <action android:name="android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION" /> 
      <action android:name="android.intent.action.PHONE_STATE" /> 
     </intent-filter> 
    </receiver> 

</application> 
+0

をあなたがチェックしていますか?それは本当に効果的ですか?私は今日私の家から出ているので、私は確認することはできません、あなたは同じことを確認できますか?また、なぜ許可をphonestate?また、onReceiveでは、android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTIONをリッスンしていないので、Wi-Fi接続/切断にどのように反応しますか? –

+0

私は既存のアプリケーションで同じものを使用していますし、動作しています。私はインターネットのアクセス許可を与えていないと、何のイベントも聴くことができないと思います。 – Avi

+0

こんにちはAVI、実際には、私は無線LANが接続または切断されていることを検出する必要があります、なぜインターネットと電話の許可? –

関連する問題