第一步: 申请相关权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
第二步: 注册广播,清单文件或者代码注册都可以 1,清单注册例子: <receiver android:name=".receivers.NetworkReceiver">//继承BroadcastReceiver,重写onReceiver方法 <intent-filter>//接收指定action广播,当网络状态改变时接受通知 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="android.net.wifi.WIFI_STATE_CHANGED" /> <action android:name="android.net.wifi.STATE_CHANGE" /> </intent-filter> </receiver> 2,代码注册例子://在代码中实现动态注册的方式 IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(new NetworkReceiver(), filter);
第三步:
在广播接收器里监听处理网络状态的改变
@Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub // 如果相等的话就说明网络状态发生了变化 if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) { // 在此处使用网络状态检查util类检查网络状态 } }