日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 系統 > Android > 正文

Android中判斷網絡連接是否可用及監控網絡狀態

2020-04-11 12:37:42
字體:
來源:轉載
供稿:網友

獲取網絡信息需要在AndroidManifest.xml文件中加入相應的權限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1)判斷是否有網絡連接

復制代碼 代碼如下:

public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}

2)判斷WIFI網絡是否可用
復制代碼 代碼如下:

public boolean isWifiConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null) {
return mWiFiNetworkInfo.isAvailable();
}
}
return false;
}

3)判斷MOBILE網絡是否可用
復制代碼 代碼如下:

public boolean isMobileConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mMobileNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mMobileNetworkInfo != null) {
return mMobileNetworkInfo.isAvailable();
}
}
return false;
}

4)獲取當前網絡連接的類型信息
復制代碼 代碼如下:

public static int getConnectedType(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {
return mNetworkInfo.getType();
}
}
return -1;
}

在開發android應用時,涉及到要進行網絡訪問,時常需要進行網絡狀態的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。
ConnectivityManager有四個主要任務
1、監聽手機網絡狀態(包括GPRS,WIFI, UMTS等)
2、手機狀態發生改變時,發送廣播
3、當一個網絡連接失敗時進行故障切換
4、為應用程序提供可以獲取可用網絡的高精度和粗糙的狀態
當我們要在程序中監聽網絡狀態時,只要一下幾個步驟即可:
1、定義一個Receiver重載其中的onReceive函數,在其中完成所需要的功能,如根據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、在適當的地方注冊Receiver,可以在程序中注冊,在onCreate中調用如下函數即可:
復制代碼 代碼如下:

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

3、在適當時取消注冊Receiver,可以在程序中取消,在onDestroye中調用如下函數即可:
復制代碼 代碼如下:

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

Ps:網上還有很多關于使用TelephonyManager 的方法的,方法如下(但是我試了好幾次都有問題,如每次第一次進入一個Activity時會自動收到網絡斷開的信號,每次網絡狀態改變時收到多次回調且狀態不正確。不知道有什么要注意的地方,求指點!)
復制代碼 代碼如下:

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

至于第二種方法,本人并沒有去嘗試過。第一種方式還是比較好用,如果要程序隱藏在后臺的話,建議開個service,將BroadcastReceiver注冊在service,但不要忘了取消注冊。
在測試中遇到過這樣的狀況,將一個當前連接wifi的路由設備關閉,但是程序并沒有捕捉到unconnect network,可能是因為手機設備立刻連接另一個路由設備了。
Android 監控網絡狀態
復制代碼 代碼如下:

public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
Log.i("NetWorkState", "Unavailabel");
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
Log.i("NetWorkState", "Availabel");
return true;
}
}
}
}
return false;
}

上面這個方法就是判斷網絡是否連接的代碼,返回true表示有網絡,返回false表示無網絡。 在Android網絡應用程序開發中,經常要判斷網絡連接是否可用,因此經常有必要監聽網絡狀態的變化。android的網絡狀態監聽可以用BroadcastReceiver來接收網絡狀態改變的廣 播,具體實現如下:
復制代碼 代碼如下:

@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "網絡狀態改變");
boolean success = false;
//獲得網絡連接服務
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
// State state = connManager.getActiveNetworkInfo().getState();
State state = connManager.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).getState(); // 獲取網絡連接狀態
if (State.CONNECTED == state) { // 判斷是否正在使用WIFI網絡
success = true;
}
state = connManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).getState(); // 獲取網絡連接狀態
if (State.CONNECTED != state) { // 判斷是否正在使用GPRS網絡
success = true;
}
if (!success) {
Toast.makeText(LocationMapActivity.this, "您的網絡連接已中斷", Toast.LENGTH_LONG).show();
}
}

復制代碼 代碼如下:

//注冊網絡監聽
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetworkStateReceiver, filter);
//在Activity中的onDestroy中:'
unregisterReceiver(mNetworkStateReceiver); //取消監聽

很多朋友在android開發中,都會遇到手機網絡類型判斷,因為就目前的android平臺手機來說:可能會存在4中狀態
1.無網絡(這種狀態可能是因為手機停機,網絡沒有開啟,信號不好等原因)
2.使用WIFI上網
3.CMWAP(中國移動代理)
4.CMNET上網
這四種狀態,如果沒有網絡,肯定是無法請求Internet了,如果是wap就需要為手機添加中國移動代理,關于為手機添加中國移動的代理,請到
下面是網絡判斷的方法
復制代碼 代碼如下:

/**
* @author sky
* Email vipa1888@163.com
* QQ:840950105
* 獲取當前的網絡狀態 -1:沒有網絡 1:WIFI網絡2:wap網絡3:net網絡
* @param context
* @return
*/
public static int getAPNType(Context context){
int netType = -1;
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(networkInfo==null){
return netType;
}
int nType = networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE){
Log.e("networkInfo.getExtraInfo()", "networkInfo.getExtraInfo() is "+networkInfo.getExtraInfo());
if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){
netType = CMNET;
}
else{
netType = CMWAP;
}
}
else if(nType==ConnectivityManager.TYPE_WIFI){
netType = WIFI;
}
return netType;
}

因為獲取的是服務對象,所以這個網絡狀態都是時時刷新的,所以我們只需要得到網絡狀態就可以了!
學習在于積累,希望和大家一起分享

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欧美日韩国产在线| 日韩av一区在线| 日韩精品大片| 中文字幕一区二区三区精品| 日韩精品在线私人| www.狠狠干| 精品av中文字幕在线毛片| 欧美亚洲国产激情| 黄色一区二区视频| 日韩在线视频观看| 欧美 日韩 国产 在线| 欧美中文字幕视频在线观看| 欧美日韩国产首页在线观看| 久久riav| 午夜高潮免费视频| 日韩欧美不卡| 欧美一级久久久久久久久大| 国产一卡二卡3卡4卡四卡在线| 亚洲国产无线乱码在线观看| 日韩在线播放一区二区| av一卡二卡| 国产黄色网页| 不卡专区在线| 国产高清精品在线观看| 亚洲免费精品视频| 欧美日韩综合高清一区二区| 欧美三级网址| 日韩亚洲不卡在线| 欧美久久久久久蜜桃| 日韩 欧美 中文| 在线视频国产三级| 91精品国产综合久久久久久| 在线黄色国产电影| 亚洲免费精品视频| 欧美不卡123| 日韩 欧美 中文| 日韩精品免费视频一区二区三区| 欧美日韩中国免费专区在线看| 国产天堂素人系列在线视频| 日韩欧中文字幕| av中文资源在线| 亚洲电影中文字幕在线观看| 国产字幕在线看| 欧美日韩性视频| 精品在线一区二区三区| 欧美国产小视频| 中文字幕 欧美 日韩| 欧美日韩在线播放一区| 亚州福利视频| 国产xxx在线| 免费在线视频一区二区| 亚洲一区三区在线观看| 亚洲日本欧美日韩高观看| 中文字幕成人乱码在线电影| 国产区在线看| 高清1区2区| 在线观看国产福利视频| 最近中文字幕在线中文高清版| 亚洲成年人在线播放| 国产欧美日韩第一页| 国产欧美第一页| 日韩国产亚洲欧美| 伊人中文字幕在线观看| 日韩三级一区二区| 日本亚洲欧美| 久久久久久自在自线| 最近高清中文在线字幕在线观看1| 中文在线视频观看| 日韩三级高清在线| 欧美日韩色综合| 亚洲三级免费看| 欧美日韩国产首页在线观看| 欧美日韩国产第一页| 日韩视频精品| av免费网站在线| 日韩高清不卡在线| 亚洲一区在线观看免费| 精品久久久91| 国产99在线 | 亚洲| 99国产成 人 综合 亚洲欧美| 国产欧美日韩精品高清二区综合区| 国产高清精品二区| 亚洲第一页中文字幕| 亚洲.国产.中文慕字在线| 精品久久久精品| 国产视频一二区| 精品日韩欧美在线| 欧美日韩中文另类| 精品在线观看一区| 亚洲区中文字幕| av中文网站| 欧美中文字幕精品| 中文字幕最新精品| 日本精品在线| 91精品视频国产| 欧美日韩一级黄| 精品亚洲成a人片在线观看| 欧美日韩中文字幕| 亚洲三级av| 免费网站看黄yyy222| 一区二区视频在线| 日韩欧美在线综合网| 欧美日韩中文字幕视频| 色www精品视频在线观看| 日韩一级中文字幕| 91精品国产综合久久久久久| 精品视频在线导航| 亚洲一级网站| 欧美1区免费| 久草亚洲一区| 午夜国产在线| 日本亚洲欧美三级| 亚洲人线精品午夜| 国产一区在线精品| 日本精品在线播放| 在线观看区一区二| 国产成人精品综合久久久| 日韩在线视频中文字幕| 亚洲va韩国va欧美va精品| 欧美日韩午夜在线| 欧美日韩精品三区| 中文字幕 乱码 中文乱码91| 国产天堂素人系列在线视频| 国产第一页在线播放| 国产在线一区二区视频| 九七久久人人| 亚洲人成欧美中文字幕| 色偷偷一区二区三区| 日韩欧美亚洲区| 国产一卡2卡3卡四卡网站| 久久精品国产99| 91精品国产综合久久香蕉最新版 | 色欧美日韩亚洲| 91日韩中文字幕| 最近中文字幕在线中文视频| 日韩三级免费观看| 国产三级精品在线观看| 一级一片免费视频| 午夜影院在线观看欧美| 天天综合天天做| 日韩专区视频网站| 日韩精品a在线观看91| 欧美亚洲视频在线看网址| 最新中文在线视频| 亚洲a级在线播放观看| 欧美天堂一区二区| 欧美日韩精品中文字幕| av一卡二卡| 视频一区不卡| 日韩欧美在线综合网| 免费视频二区| 日韩在线视频观看| 日韩av一区二区在线| 国产小视频免费在线网址| 日韩欧美在线网址| 亚洲一级影院| 丰满少妇一区二区| 欧美一卡2卡3卡4卡| 日韩美女视频一区二区在线观看| 中文字幕2020第一页| 欧美一级免费在线观看| 久久av免费| 欧美日韩在线播放视频| 国产中文在线观看| 91av久久久| 国产亚洲二区| 久久久91精品国产| 日韩精品福利视频| 欧美 日韩 国产 高清| 欧美精选午夜久久久乱码6080| 精品国产免费视频| 日韩欧美中文字幕精品| 日韩欧美在线中文字幕| 国产婷婷色一区二区三区| 日韩国产91| 日韩欧美中文字幕在线观看| 亚洲社区在线| 国产免费久久| 久久福利视频一区二区| 日韩精品视频免费| 91精品国产手机| 一级日韩一级欧美| 粉嫩喷白浆久久| 精品极品三级久久久久| 国内激情久久| 色屁屁一区二区| 国产三级精品网站| 伊人国产视频| 日韩欧美资源站| 一区二区三区四区五区视频在线观看 | 久久久精品日韩| 影音先锋一区二区资源站| √新版天堂资源在线资源| 日韩美女中文字幕| 国产丝袜在线播放| 福利一区二区| 久久久综合av| 不卡一区2区| 中文字幕国产日韩| 日韩视频在线一区| 欧美国产91| 欧美在线日韩精品| 亚洲精华国产欧美| 精品成人久久av| 国产视频一二区| 亚洲.国产.中文慕字在线| 国产区视频在线观看| 午夜视频在线观看一区| 日韩国产专区| 精品国产欧美日韩不卡在线观看| 亚洲视频电影在线| 精品日韩在线播放| 久久精品欧美日韩精品| 中文字幕在线中文字幕二区| 久久久99久久| 亚洲一区中文| 欧美婷婷精品激情| 国产成人精品综合久久久| 在线国产91| 91久久精品国产91性色69| 日韩三级高清在线| 日韩三级精品| 亚州黄色一级| 欧美国产中文| 二区中文字幕| a视频免费看| 成年人黄国产| 国产99对白在线播放| 99精品一级欧美片免费播放| 欧美日韩国产专区| www.中文字幕在线| 欧美在线中文字幕| 天天摸日日摸狠狠添| 欧美三级日韩三级| 亚洲欧洲三级| 中文字幕 亚洲一区| 黄色资源在线观看| 久久人人88| 亚洲第一福利视频在线| 精品色蜜蜜精品视频在线观看| 亚洲欧洲在线观看av| 一区二区三区高清在线| 精品日韩视频在线观看| 日韩中文字幕视频在线观看| av免费观看国产| 国产小视频在线| 日韩精品午夜| 国产一区 二区 三区一级| 久久精品一二三| 精品国产综合久久| 免费视频二区| 久久电影国产免费久久电影| 成人h视频在线观看| 日韩欧美成人一区二区三区| 欧美高清一区| 精品视频在线视频| 正在播放日韩精品| 国产不卡视频在线| 国产欧美一级| 国产黄色在线免费观看| 国产久卡久卡久卡久卡视频精品| 91精品无人成人www| 99视频一区| 天天摸日日摸狠狠添| 国产h片在线观看| 午夜av一区二区| 国产日韩综合| 亚洲三级中文字幕| av免费观看国产| 91久久精品网| 亚洲男人在线| 久草亚洲一区| 国产日韩精品视频| 久久久另类综合| 亚洲男人在线| 日韩国产欧美| 国产h片在线观看| 青青久在线视频免费观看| 欧美日韩国产中文| 色综合天天综合网国产成人综合天| 亚洲国产www| 国产日韩精品在线观看| 91精品久久久久久久久| 最近中文字幕日韩精品| 欧美日韩在线播放三区四区| 成人久久久久| 国产欧美一级| 精品欧美日韩精品| 精品在线网站观看| 日韩欧美高清在线| 国产在线不卡一区| 精品日韩一区二区三区免费视频| 亚洲免费播放| 亚洲社区在线| 在线资源av| 亚洲男人在线| 中文字幕欧美日韩在线| 中文字幕日韩在线观看| 国产丝袜一区二区| 亚洲黄色片在线观看| 亚洲a中文字幕| 精品人妻一区二区三区视频| 亚洲日本精品视频| 红桃视频亚洲| 一本一道综合狠狠老| 日韩三级视频在线| 91一区二区| 国产真实乱子伦精品视频| 欧美日韩激情一区| 久久99久久久久久久噜噜| 国产一级片播放| 欧美日韩国产免费观看| 久久精品欧美日韩精品| 精品欧美日韩在线| 亚洲社区在线| 91久久精品国产91久久| 亚洲一区激情| 国产在线精品日韩| 精品中文在线| 又黄又www的网站| 日韩在线播放一区二区| 亚洲a级在线播放观看| 99久久www免费| 欧美日韩999| 精品九九久久| 免费在线国产| 91久久精品视频| 国产999精品在线观看| 黄色在线播放网站| 欧美日韩精品是欧美日韩精品| 中文字幕第一页在线| 欧美三级在线播放| 91麻豆视频网站| 首页国产欧美久久| 国产一级免费| 免费精品国产自产拍在| 国产日韩亚洲欧美| 亚洲综合在线中文字幕| 中文字幕亚洲一区在线观看| 国产91久久久久| wwwav在线播放| 欧美成人精品在线| 日本视频久久久| 国产一区二中文字幕在线看| 欧美日韩国产一级片| 欧美日韩国产综合视频在线观看中文| 91欧美日韩在线| 日韩视频免费直播| 日韩色在线观看| 久久久久久久久99精品| 午夜视频在线观看一区| 色欧美日韩亚洲| 亚洲一区中文字幕在线观看| 国产传媒久久久| 欧美日韩亚洲一| 日韩欧美不卡视频| 午夜高潮免费视频| 1024国产在线| 国产成人精品免费网站| 中文字幕亚洲在| 国产日韩中文字幕| av免费看在线| 日韩欧美一级精品久久| 91精品蜜臀在线一区尤物| 自拍日韩亚洲一区在线| 日韩精品视频免费看| 国产激情在线观看| 欧美亚洲专区| 欧美日韩国产综合视频在线观看| 欧美三级免费观看| 国产福利免费在线观看| 日韩av不卡在线观看| 欧美日韩高清一区二区不卡| 日本国产在线视频| 日韩高清不卡| 精品婷婷伊人一区三区三| 久久手机免费观看| 精品网站999| 国产三级视频网站| 中文字幕久久精品| 樱花草www在线| 久久精品一级爱片| 国产激情在线视频| 一区二区三区鲁丝不卡| 午夜一区二区视频| 国产日韩精品久久久| 成人久久在线| 欧美久久在线| 中文字幕在线看视频国产欧美| 亚洲中文字幕一区| 欧美日韩国产页| 日韩精品视频中文在线观看| 久艹在线视频| 日韩精品大片| 欧美激情一区二区在线| 日韩av二区| 中文字幕在线看精品乱码| 欧美日韩国产999| 日韩精品大片| 国产不卡视频在线|