Android 广播监听网络状态详解及实例代码

Android 广播监听网络状态

我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断。

这时候,我们一般情况下,两种方式进行处理。

第一: 开启服务。

第二:发送广播的形式。

建议采用方法二。

源代码如下:

广播:

/**

* 有网络的广播

*/

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", "断网了");

Message msg = new Message();

msg.what = DownLoadFileUtil.isNetConnectionError;

mHandler.sendMessage(msg);

// unconnect network

}else {

// connect network

Log.i(TAG, "有来网了");

}

}

};

注册:

//有网络 的时候在注册网络监听广播

IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);

registerReceiver(connectionReceiver, intentFilter);

showDialog();

pool.execute(mUpdateUIThread);

其完整的代码如下:

方法1就是开启service的方式。代码很简单。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是 Android 广播监听网络状态详解及实例代码 的全部内容, 来源链接: utcz.com/z/337153.html

回到顶部