我有檢查,而我的應用程序運行在互聯網是否被連接的類:檢查Internet連接與廣播接收器不工作
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>
現在我有點困惑。當我運行依賴互聯網的應用程序並關閉連接時,我是不是應該收到一條說「連接!」的Toast消息?接收器是否應該認識到沒有連接並且在我的NetworkChangerReciever類中觸發onReceive()方法?我在這裏錯過了什麼?謝謝。
沒有ü註冊您的活動的接收器的onResume? – rafsanahmad007
不,我該怎麼做?你能寫一個答案嗎?我認爲註冊意味着在清單文件中包含它? –