广播实时监听网络状态

来源:互联网 发布:怎样在淘宝联盟买东西 编辑:程序博客网 时间:2024/05/29 19:38

//清单文件配置

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

<receiver android:name=".MainActivity$ReceiverJt"/>
//MainActivity动态注册
private ReceiverJt receiverJt;
receiverJt = new ReceiverJt();//动态注册registerReceiver(receiverJt, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));


//广播类(内部类)
public class ReceiverJt extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        //得到网络连接状态管理        ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        //得到网络连接状态        NetworkInfo info = manager.getActiveNetworkInfo();        //处理逻辑   !=null 为有网状态        if(info!=null){            Toast.makeText(context, "有网络连接,做有网时的逻辑", Toast.LENGTH_SHORT).show();        }else{            Toast.makeText(context, "无网络连接,做无网时的逻辑", Toast.LENGTH_SHORT).show();        }    }}
//动态注册销毁
@Overrideprotected void onDestroy() {    super.onDestroy();    //动态注册广播须要销毁    unregisterReceiver(receiverJt);}