您的位置:首页 > 理论基础 > 计算机网络

静态注册广播监听网络变化

2017-02-06 15:48 369 查看
常用的IM聊天App中都会判断网络连接是否可用,今天我们就用静态注册注册广播来监听网络的变化:首先申请网络权限

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

然后在mainifest文件静态注册广播:
<receiver
android:name=".NetWorkChangeReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>

这样当网络变化的时候,就能监听到相应的网络情况:
package com.example.administrator.broadcastreceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast;

public class NetWorkChangeReceiver extends BroadcastReceiver {
public NetWorkChangeReceiver() {
}

@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
//Toast.makeText(context,"netChanged!",Toast.LENGTH_LONG).show();
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo !=null && networkInfo.isAvailable())
{
Toast.makeText(context,"isAvailable!",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(context,"unAvailable!",Toast.LENGTH_LONG).show();
}
}
}
OK了,静注册广播监听网络变化已实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息