android 有一套机制,可以用监听网络连接状态,开发者可根据网络状态进行相应的业务处理。
具体实现如下:
1.自定义广播
2.注册广播
3.注销广播(不用时记得要注销广播)
主要代码如下:
注册广播:
IntentFilter mFilter = new IntentFilter();
mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mReceiver, mFilter);
自定义广播:
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.isAvailable()) {
String name = info.getTypeName();
AppLog.Log("当前网络名称:" + name);
} else {
AppLog.Log("没有可用网络");
}
}
};
unregisterReceiver(mReceiver);