2012-02-07 16 views
0

を動作しません。 WiFi接続をオン/オフすると呼び出されるようです。レシーバは、私は、接続の変更を聞きたいし、それを試してみました

ここで問題は何ですか、私は何かが恋しいですか?

+0

そのアクションとは何ですか? android.net.conn.CONNECTIVITY_CHANGEのアクションを使用してください。 – rciovati

+0

ありがとうございます、あなたは正しいです。しかし残念ながら、上記の受信機は1回だけと呼ばれていましたが、約15回WiFiをオン/オフします。 – ceran

答えて

0

あなたはこのような何かを試みることができる:

<receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver"   android:label="NetworkConnection"> 
<intent-filter> 
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 
</intent-filter>  
</receiver> 

に "アプリケーション" の下にレシーバクラスをあなたのAndroidManifest.xmlで "マニフェスト" の下で、あなたのAndroidManifest.xmlで

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

を:

public class ConnectionChangeReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); 
     NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
     if (activeNetInfo != null) { 
      Toast.makeText(context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
     } 
     if (mobNetInfo != null) { 
      Toast.makeText(context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
     } 
    } 
} 
+0

ありがとう、申し訳ありませんが、私はここで違いを見ることはできません。これは私と同じではありませんか?私の問題は、onReceiveメソッドは一度しか呼び出されない、私はあなたのレシーバクラス(これは間違いなく私よりも優れていると思う)です)これを修正することはできません。問題は** ** **前に** – ceran

+0

こんにちは、インターネット接続が落ちたりステータスが変わるとアンドロイドがブロードキャストを投げます。その放送をキャッチするだけで、毎回確認する必要はありません。 – Lars

+0

こんにちは、lars、ありがとう。これはまさに私がやりたいことであり、私のアプローチはこれを行うべきだと思っていますが、私はWi-Fi接続を何度もオン/オフすると一度だけブロードキャストを受信します。 – ceran

関連する問題