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

Android網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)實(shí)例代碼(二)

 更新時(shí)間:2016年03月01日 10:56:03   作者:智慧云端日記  
這篇文章主要介紹了Android網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)實(shí)例代碼(2)的相關(guān)資料,需要的朋友可以參考下

上篇文章給大家介紹了Android 網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)代碼實(shí)例(一),感興趣的朋友可以點(diǎn)擊了解詳情,本文接著給大家介紹android網(wǎng)絡(luò)狀態(tài)監(jiān)聽(tīng)相關(guān)知識(shí),具體內(nèi)容如下所示:

在開(kāi)發(fā)android應(yīng)用時(shí),涉及到要進(jìn)行網(wǎng)絡(luò)訪問(wèn),時(shí)常需要進(jìn)行網(wǎng)絡(luò)狀態(tài)的檢查,以提供給用戶必要的提醒。一般可以通過(guò)ConnectivityManager來(lái)完成該工作。

ConnectivityManager有四個(gè)主要任務(wù):

1、監(jiān)聽(tīng)手機(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)聽(tīng)網(wǎng)絡(luò)狀態(tài)時(shí),只要一下幾個(gè)步驟即可:

1、定義一個(gè)Receiver重載其中的onReceive函數(shù),在其中完成所需要的功能,如根據(jù)WIFI和GPRS是否斷開(kāi)來(lái)改變空間的外觀或者提示是否能訪問(wèn)網(wǎng)絡(luò)

package com.bsharksdk.receiver;
import com.bsharksdk.main.BSharkApi;
import com.bsharksdk.ui.BSToast;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
/**
* @author Javen
* 
*/
public class ConnectionChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
BSToast.showLong(context, "網(wǎng)絡(luò)不可以用");
//改變背景或者 處理網(wǎng)絡(luò)的全局變量
}else {
//改變背景或者 處理網(wǎng)絡(luò)的全局變量
}
}
} 

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

private void registerReceiver(){
IntentFilter filter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
myReceiver=new ConnectionChangeReceiver();
this.registerReceiver(myReceiver, filter);
} 

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

private void unregisterReceiver(){
this.unregisterReceiver(myReceiver);
} 

記得在 Activity中 設(shè)置變量 private ConnectionChangeReceiver myReceiver;

記得添加訪問(wèn)網(wǎng)絡(luò)需要的權(quán)限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />

以上所述是小編給大家介紹的Android網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)實(shí)例代碼(2),希望對(duì)大家有所幫助!

相關(guān)文章

最新評(píng)論