Android 网络监听
2015-05-08 23:07
309 查看
1.添加权限
2.BaseActivity
继承BaseActivity ,在使用的地方调用回调函数
<uses-permission android:name="android.permission.INTERNET"/> <!-- 网络权限 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- 网络检测 -->
2.BaseActivity
public class BaseActivity extends Activity { private OnNetListener onNetListener; protected NetBroadcastReceiver netBroadcastReceiver; /** * 注册net广播 */ @Override protected void onStart() { // TODO Auto-generated method stub IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); netBroadcastReceiver = new NetBroadcastReceiver(); registerReceiver(netBroadcastReceiver, filter); super.onStart(); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); } /** * 关闭net广播 */ @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(netBroadcastReceiver); } /** * 网络广播监听 * @author Administrator * */ class NetBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub int NetType = -1; String NetName = "没有网络"; ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = mConnectivityManager.getActiveNetworkInfo(); if(netInfo != null && netInfo.isAvailable()){ switch (netInfo.getType()) { case ConnectivityManager.TYPE_MOBILE:NetType = 0;break; case ConnectivityManager.TYPE_WIFI:NetType = 1;break; case ConnectivityManager.TYPE_ETHERNET:NetType = 2;break; default: break; } NetName = netInfo.getTypeName(); } onNetListener.onNetLoader(NetType,NetName); } } public void setOnNetListener(OnNetListener onNetListener){ this.onNetListener = onNetListener; } public abstract interface OnNetListener{ /** * -1 :无网络 0:2g/3G 1:wifi 2:有线网 * @param netType * @param NetName */ public abstract void onNetLoader(int netType,String NetName); } }
继承BaseActivity ,在使用的地方调用回调函数
setOnNetListener(new OnNetListener() { @Override public void onNetLoader(int netType, String NetName) { // TODO Auto-generated method stub Toast.makeText(LoginActivity.this, NetName, Toast.LENGTH_SHORT).show(); } });
相关文章推荐
- [Android初级]Android程序监听网络的连接状况,This is a demo!
- Android 动态监听手机的网络状态
- Android 监听网络状态
- Android 广播监听网络状态详解及实例代码
- android--解决方案--用BroadcastReceiver监听手机网络状态变化
- Android 广播接收器学习之监听网络变化
- android 网络实时监听网络状态变化 及 网络类型判断
- Android 实时监测(监听)网络连接状态变化
- Android 超简单音乐播放器(十三)监听网络状态的变化,设置移动网络是否可以播放。
- Android监听网络连接状态变化
- Android 注册广播,实时监听网络连接与断开状态变化
- Android 动态监听网络变化
- android 监听网络连接状态的变化
- Android 7.0 隐式广播-监听网络变化
- android 使用广播监听网络状态变化
- 关于网络状态改变监听广播的使用(android不同系统版本会有不同)
- Android监听网络变化
- Android网络状态的检测和监听网络状态的变化
- Android 监听网络的变化
- android网络监听广播遇到网络变化执行多次onRe