I持って自分のアプリケーションを実行しながら、インターネットが接続されているかどうかをチェックするクラス:インターネット接続チェック
public class NetworkChangeReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
if (isConnected){
Toast.makeText(context, "CONNECTED!", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, "NOT CONNECTED", Toast.LENGTH_LONG).show();
}
}}
は私が私のマニフェストファイル内でこの受信機を追加したアプリケーションの括弧の間に、
<receiver
android:name=".DataHelpers.NetworkChangeReciever"//DataHelpers is the package name
android:label="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
今はちょっと混乱しています。インターネットに依存している接続を遮断しているアプリケーションを実行すると、「接続済み」というトーストメッセージが表示されませんか?受信機は接続がないことを認識し、NetworkChangerRecieverクラスのonReceive()メソッドを起動しないでください。私はここで何が欠けていますか?ありがとうございました。
uがアクティビティのonResumeであなたのレシーバを登録していますか? – rafsanahmad007
いいえ、どうすればいいですか?あなたは答えを書くことができますか?私は登録がマニフェストファイル内にそれを含めることを意味すると思った? –