Android 网络连接状态的监控
有些應(yīng)用需要連接網(wǎng)絡(luò),例如更新后臺(tái)服務(wù),刷新數(shù)據(jù)等,最通常的做法是定期聯(lián)網(wǎng),直接使用網(wǎng)上資源、緩存數(shù)據(jù)或執(zhí)行一個(gè)下載任務(wù)來(lái)更新數(shù)據(jù)。
但是如果終端設(shè)備沒(méi)有連接網(wǎng)絡(luò),或者網(wǎng)速較慢,就沒(méi)必要執(zhí)行這些任務(wù)。可以使用ConnectivityManager檢查是事聯(lián)網(wǎng)以及當(dāng)前是何種類型的網(wǎng)絡(luò)。具體
代碼如下:
ConnectivityManager cm =(ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo activeNetwork = cm.getActiveNetworkInfo();boolean isConnected = activeNetwork.isConnectedOrConnecting(); //是否連接網(wǎng)絡(luò)boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;移動(dòng)網(wǎng)絡(luò)比Wi-Fi消耗的電量更多,所以在多數(shù)情況下,應(yīng)用應(yīng)該在有移動(dòng)網(wǎng)絡(luò)時(shí)減少刷新數(shù)據(jù)的頻率,而在WiFi狀態(tài)時(shí)去下載大文件。在網(wǎng)絡(luò)重新連接時(shí),
如果發(fā)現(xiàn)現(xiàn)在的狀態(tài)是WiFi狀態(tài),那么就可以重新啟動(dòng)之前停止的下載操作或者刷新操作。網(wǎng)絡(luò)連接狀態(tài)的切換可以通過(guò)注冊(cè)一個(gè)廣播接受器來(lái)完成對(duì)網(wǎng)絡(luò)狀態(tài)的
監(jiān)聽。
<activity android:name="android.net.conn.CONNECTIVITY_CHANGE"/>?
?程序猿必讀
轉(zhuǎn)載于:https://www.cnblogs.com/longzhongren/p/6369781.html
總結(jié)
以上是生活随笔為你收集整理的Android 网络连接状态的监控的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分组背包
- 下一篇: Android 5.1上MultiDex