Android 廣播監(jiān)聽網(wǎng)絡(luò)狀態(tài)詳解及實例代碼
Android 廣播監(jiān)聽網(wǎng)絡(luò)狀態(tài)
我們在做多線程下載的時候,或者是在加載h5界面的時候,常常會遇到網(wǎng)絡(luò)狀態(tài)不好或者斷網(wǎng)的時候,在這或者當我們的應(yīng)用程序啟動沒有退出的時候,我們就需要對網(wǎng)絡(luò)狀態(tài)監(jiān)聽加以判斷。
這時候,我們一般情況下,兩種方式進行處理。
第一: 開啟服務(wù)。
第二:發(fā)送廣播的形式。
建議采用方法二。
源代碼如下:
廣播:
/** * 有網(wǎng)絡(luò)的廣播 */ BroadcastReceiver connectionReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) { Log.i("yuyahao", "斷網(wǎng)了"); Message msg = new Message(); msg.what = DownLoadFileUtil.isNetConnectionError; mHandler.sendMessage(msg); // unconnect network }else { // connect network Log.i(TAG, "有來網(wǎng)了"); } } };
注冊:
//有網(wǎng)絡(luò) 的時候在注冊網(wǎng)絡(luò)監(jiān)聽廣播 IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(connectionReceiver, intentFilter); showDialog(); pool.execute(mUpdateUIThread);
其完整的代碼如下:
方法1就是開啟service的方式。代碼很簡單。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android仿QQ微信實時監(jiān)測網(wǎng)絡(luò)狀態(tài)
- Android BroadcastReceiver實現(xiàn)網(wǎng)絡(luò)狀態(tài)實時監(jiān)聽
- Android檢查網(wǎng)絡(luò)狀態(tài)工具類詳解
- android 監(jiān)聽網(wǎng)絡(luò)狀態(tài)的變化及實戰(zhàn)的示例代碼
- Android判斷網(wǎng)絡(luò)狀態(tài)的代碼
- Android 判斷網(wǎng)絡(luò)狀態(tài)及開啟網(wǎng)路
- Android 監(jiān)聽網(wǎng)絡(luò)狀態(tài)方法詳解
- Android 判斷網(wǎng)絡(luò)狀態(tài)實例詳解
- Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時出現(xiàn)空指針(NullPointerException)問題的解決方法
- Android使用觀察者模式Observer實現(xiàn)網(wǎng)絡(luò)狀態(tài)監(jiān)聽
相關(guān)文章
詳解 Kotlin Reference Basic Types, String, Array and Imports
這篇文章主要介紹了詳解 Kotlin Reference Basic Types, String, Array and Imports的相關(guān)資料,需要的朋友可以參考下2017-06-06Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法
今天小編就為大家分享一篇關(guān)于Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Android利用ContentProvider初始化組件的踩坑記錄
做Android SDK開發(fā)的時候,一般我們會將初始化的方法封裝,然后讓調(diào)用SDK的開發(fā)者在Application的onCreate方法中進行初始化,下面這篇文章主要給大家介紹了關(guān)于Android利用ContentProvider初始化組件的踩坑記錄,需要的朋友可以參考下2022-04-04Android MPAndroidChart開源庫圖表之折線圖的實例代碼
這篇文章主要介紹了Android MPAndroidChart開源庫圖表之折線圖的實例代碼,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05