标签:断网 注册 state 改变 class 连接方式 broadcast 动态 info
Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验。
1 public class WifiStateBroadCast extends BroadcastReceiver { 2 @Override 3 public void onReceive(Context context, Intent intent) { 4 //获取manager 5 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 6 //获取wifi状态 7 NetworkInfo.State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); 8 if (state != NetworkInfo.State.CONNECTED){ 9 Toast.makeText(context,"WIFI已断开连接",Toast.LENGTH_SHORT).show(); 10 }else if (state == NetworkInfo.State.CONNECTED){ 11 Toast.makeText(context,"WIFI已连接",Toast.LENGTH_SHORT).show(); 12 } 13 } 14 }
然后在清单文件中静态注册广播
1 <receiver android:name=".broadcast.WifiStateBroadCast"> 2 <intent-filter> 3 <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 4 </intent-filter> 5 </receiver>
不要忘了添加权限
1 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 2 <uses-permission android:name="android.permission.INTERNET" /> 3 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
这样当手机网络发生变化的时候,就能及时作出处理,防止某些过于依赖的程序无法正常的工作。
标签:断网 注册 state 改变 class 连接方式 broadcast 动态 info
原文地址:http://www.cnblogs.com/rokey/p/6156406.html