注册方式:

1.

<receiver            android:name="包名.ConnectionChangeReceiver"            android:label="NetworkConnection" >            <intent-filter>                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />            </intent-filter></receiver>

2.

/* * 手动注册网络状态变化,或在清单文件配置。 */private void registerNetStateReceiver() {Log.i("--bxm register netstate receiver...");mConnectivityReceiver = new ConnectionChangeReceiver();IntentFilter filter = new IntentFilter();filter.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION);registerReceiver(mConnectivityReceiver, filter);}

其中ConnectionChangeReceiver类为:

public class ConnectionChangeReceiver extends BroadcastReceiver {private final static NetConnectionStateMgr dataStateMgr = NetConnectionStateMgr.getInstance();@Overridepublic void onReceive(Context context, Intent intent) {Log.i("--ConnectivityReceiver.onReceive()...");String action = intent.getAction();Log.i("--action=" + action);ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();if (networkInfo != null) {Log.i("--Network Type  = " + networkInfo.getTypeName());Log.i("--Network State = " + networkInfo.getState());if (networkInfo.isConnected()) {Log.i("--bxm Network connected");dataStateMgr.setDataState(NetConnectionStateMgr.DATA_CONNECTIONED);}} else {Log.e("--bxm Network unavailable");dataStateMgr.setDataState(NetConnectionStateMgr.DATA_CONNECTION_UNAVAILABLE);}dataStateMgr.notifyDataSetChanged();}}

上面的NetConnectionStateMgr是自己实现的观察者类,方便用而已。

注意权限配置:

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

更多相关文章

  1. 【Android 清单文件下的 Activity各种配置详解】
  2. C#中Observer观察者模式解决牛顿童鞋成绩问题的实例
  3. C#中Observer观察者模式如何解决牛顿童鞋成绩问题的方法
  4. Go 1.15 版本的优化清单【总结】
  5. 从一份配置清单详解Nginx服务器配置
  6. 一看就懂【来自英雄联盟盖伦的怒吼】与 Python 详解设计模式(二)观
  7. webpack4.0正式版重大更新与特性详细清单
  8. pub哥的2020文章清单
  9. 设计模式之观察者模式

随机推荐

  1. android - BitmapRegionDecoder 翻译
  2. Android(安卓)数据存储
  3. Android(安卓)ImageView和TextView居中
  4. Android(安卓)Fastboot
  5. Android(安卓)listView 一种常用布局
  6. Android(安卓)simpleperf
  7. android相对布局实例—登录界面
  8. 史上最全干货:Android中的Intent
  9. android蓝牙通信
  10. android实现文件下载的几种方式