您的位置:首页 > 其它

BroadcastReceiver&&IntentFilter&&NetWorkChangeState

2017-07-30 17:33 459 查看
1.网络状态获取权限设置:

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


2.广播推送网络状态改变;

动态注册广播–程序active状态

private IntentFilter intentFilter;
private NetWorkChangeReceiver netWorkChangeReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
netWorkChangeReceiver = new NetWorkChangeReceiver();
registerReceiver(netWorkChangeReceiver,intentFilter);

}

@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(netWorkChangeReceiver);
}

class NetWorkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "networkchange", Toast.LENGTH_SHORT).show();

ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()){
Toast.makeText(context,"net is available",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(context,"net is unavailable",Toast.LENGTH_SHORT).show();
}
}
}


静态注册广播 –程序unactive状态

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐