欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android通過ConnectivityManager檢查網(wǎng)絡(luò)狀態(tài)

 更新時(shí)間:2016年08月04日 11:37:52   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了Android通過ConnectivityManager檢查網(wǎng)絡(luò)狀態(tài)的相關(guān)資料,感興趣的小伙伴們可以參考一下

在開發(fā)android應(yīng)用時(shí),涉及到要進(jìn)行網(wǎng)絡(luò)訪問,時(shí)常需要進(jìn)行網(wǎng)絡(luò)狀態(tài)的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。
ConnectivityManager有四個(gè)主要任務(wù):
1、監(jiān)聽手機(jī)網(wǎng)絡(luò)狀態(tài)(包括GPRS,WIFI, UMTS等)
2、手機(jī)狀態(tài)發(fā)生改變時(shí),發(fā)送廣播
3、當(dāng)一個(gè)網(wǎng)絡(luò)連接失敗時(shí)進(jìn)行故障切換
4、為應(yīng)用程序提供可以獲取可用網(wǎng)絡(luò)的高精度和粗糙的狀態(tài)當(dāng)我們要在程序中監(jiān)聽網(wǎng)絡(luò)狀態(tài)時(shí),只要一下幾個(gè)步驟即可:

1、定義一個(gè)Receiver重載其中的onReceive函數(shù),在其中完成所需要的功能,如根據(jù)WIFI和GPRS是否斷開來改變空間的外觀

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(TAG, "unconnect");
  // unconnect network
  }else {

 // connect network
  }
 }
 }; 

2、在適當(dāng)?shù)牡胤阶?cè)Receiver,可以在程序中注冊(cè),在onCreate中調(diào)用如下函數(shù)即可:

IntentFilter intentFilter = new IntentFilter();
 intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
 registerReceiver(connectionReceiver, intentFilter); 

3、在適當(dāng)時(shí)取消注冊(cè)Receiver,可以在程序中取消,在onDestroye中調(diào)用如下函數(shù)即可:

if (connectionReceiver != null) {
 unregisterReceiver(connectionReceiver);
 } 

Ps:網(wǎng)上還有很多關(guān)于使用TelephonyManager 的方法的,方法如下(但是我試了好幾次都有問題,如每次第一次進(jìn)入一個(gè)Activity時(shí)會(huì)自動(dòng)收到網(wǎng)絡(luò)斷開的信號(hào),每次網(wǎng)絡(luò)狀態(tài)改變時(shí)收到多次回調(diào)且狀態(tài)不正確。不知道有什么要注意的地方,求指點(diǎn)!)

final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
mTelephonyMgr.listen(new PhoneStateListener(){
@Override
public void onDataConnectionStateChanged(int state) {
switch(state){
case TelephonyManager.DATA_DISCONNECTED://網(wǎng)絡(luò)斷開
break;
case TelephonyManager.DATA_CONNECTING://網(wǎng)絡(luò)正在連接
break;
case TelephonyManager.DATA_CONNECTED://網(wǎng)絡(luò)連接上
break;

}

}
}, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE); 

至于第二種方法,本人并沒有去嘗試過。第一種方式還是比較好用,如果要程序隱藏在后臺(tái)的話,建議開個(gè)service,將BroadcastReceiver注冊(cè)在service,但不要忘了取消注冊(cè)。
在測(cè)試中遇到過這樣的狀況,將一個(gè)當(dāng)前連接wifi的路由設(shè)備關(guān)閉,但是程序并沒有捕捉到unconnect network,可能是因?yàn)槭謾C(jī)設(shè)備立刻連接另一個(gè)路由設(shè)備了。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android發(fā)送郵件的方法實(shí)例詳解

    Android發(fā)送郵件的方法實(shí)例詳解

    這篇文章主要介紹了Android發(fā)送郵件的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android郵件發(fā)送的相關(guān)技巧與具體實(shí)現(xiàn)步驟,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-01-01
  • Android AMS啟動(dòng)詳解

    Android AMS啟動(dòng)詳解

    這篇文章主要介紹了Android AMS啟動(dòng)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下
    2021-03-03
  • Android 屏蔽和捕獲Home鍵的示例代碼

    Android 屏蔽和捕獲Home鍵的示例代碼

    本文主要介紹 Android 屏蔽和捕獲Home 鍵的方法,并附有代碼實(shí)例參考,在開發(fā)過程中可能會(huì)遇到這樣的功能,有需要的同學(xué)可以參考下
    2016-07-07
  • Android APK反編譯圖文教程

    Android APK反編譯圖文教程

    學(xué)會(huì)反編譯比較關(guān)鍵,也是我們美化必須掌握技術(shù),學(xué)會(huì)反編譯也是實(shí)現(xiàn)制作ROM的起步,ROM高手必然是反編譯高手這里有必要說一下,教程只是給你一個(gè)動(dòng)手的那一個(gè)蹺板,教程不是萬能的,給了你基礎(chǔ)與啟發(fā),最重要的是我們能夠自主的進(jìn)行創(chuàng)新與思考
    2016-04-04
  • 在Android源碼中編譯出指定jar包的操作

    在Android源碼中編譯出指定jar包的操作

    這篇文章主要介紹了在Android源碼中編譯出指定jar包的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android實(shí)現(xiàn)花瓣飄落效果的步驟

    Android實(shí)現(xiàn)花瓣飄落效果的步驟

    這篇文章主要介紹了Android實(shí)現(xiàn)花瓣飄落效果的步驟,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android 實(shí)現(xiàn)定時(shí)任務(wù)的過程詳解

    Android 實(shí)現(xiàn)定時(shí)任務(wù)的過程詳解

    這篇文章主要介紹了Android 定時(shí)任務(wù)過程詳解的相關(guān)資料,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Android計(jì)算器編寫代碼

    Android計(jì)算器編寫代碼

    這篇文章主要為大家分享了Android計(jì)算器編寫代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • android實(shí)現(xiàn)截圖并動(dòng)畫消失效果的思路詳解

    android實(shí)現(xiàn)截圖并動(dòng)畫消失效果的思路詳解

    這篇文章主要介紹了android實(shí)現(xiàn)截圖并動(dòng)畫消失的思路詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Android中應(yīng)用界面主題Theme使用方法和頁面定時(shí)跳轉(zhuǎn)應(yīng)用

    Android中應(yīng)用界面主題Theme使用方法和頁面定時(shí)跳轉(zhuǎn)應(yīng)用

    在Android SDK中內(nèi)置了下面的Theme,可以按標(biāo)題欄Title Bar和狀態(tài)欄Status Bar是否可見來分類,感興趣的朋友可以了解下哈
    2013-06-06

最新評(píng)論