我正在開發一個android應用程序,我有下一個問題: 我實現了廣播接收器,用於連接更改,方法onReceive
似乎被稱爲4當3G和Wifi同時啓用時連續數次。
所以我的問題是:
有沒有辦法只聽互聯網連接,而不是網絡更改?
或者當3G和Wifi同時啓用時,方法onReceive
只能被調用一次嗎?當3G和WIFI同時啓用時,NetworkChangeReceiver的onReceive方法被多次調用
這是我的代碼:
public class NetworkChangeReceiver extends BroadcastReceiver {
public static final String TAG = "NetworkMonitoring";
@Override
public void onReceive(Context context, Intent intent) {
if (isOnline(context)) {
Log.v(TAG, "Connected!");
// update(context);
} else {
Log.v(TAG, "Not connected!");
// stopUpdate(context);
}
}
public boolean isOnline(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected())
return true;
return false;
}
}
在Android清單:
<receiver android:name="xxxxx.xxxxx.xxxxx.NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
這裏是日誌:
05-06 16:24:05.985:V/NetworkMonitoring (569):連接!
05-06 16:24:10.250:V/NetworkMonitoring(569):已連接!
05-06 16:24:10.720:V/NetworkMonitoring(569):Connected!
05-06 16:24:11.031:V/NetworkMonitoring(569):Connected!
(注意時間!)
非常感謝您發佈和花時間分享您找到的解決方案的努力。但不幸的是,這不能回答,因爲它只是一個鏈接到現有的SO線程。它應該是評論! –
嗯,這個問題是在2個月前添加的,而在我發佈的鏈接中有一個同樣的問題(從2年前開始)的接受答案。 @PareshMayani 我真的不明白你想要我做什麼。請解釋,因爲我是新來的積極參與本網站。 – Hristova
堆棧溢出不鼓勵在鏈接中進行回答。提供該頁面的部分內容,以便在答案中回答OP的問題,以便未來的讀者即使鏈接被破壞也能夠閱讀。在這種情況下,它只是一個鏈接到一個現有的Stackoverflow線程,所以你應該留下一個評論(但解鎖評論特權,你將需要至少50名聲譽)。 –