静态注册广播监听网络变化

来源:互联网 发布:淘宝网买东西怎么付款 编辑:程序博客网 时间:2024/06/06 01:31

常用的IM聊天App中都会判断网络连接是否可用,今天我们就用静态注册注册广播来监听网络的变化:首先申请网络权限

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

然后在mainifest文件静态注册广播:

  <receiver            android:name=".NetWorkChangeReceiver"            android:enabled="true"            android:exported="true">            <intent-filter android:priority="1000">                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>            </intent-filter>        </receiver>

这样当网络变化的时候,就能监听到相应的网络情况:

package com.example.administrator.broadcastreceiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.widget.Toast;public class NetWorkChangeReceiver extends BroadcastReceiver {    public NetWorkChangeReceiver() {    }    @Override    public void onReceive(Context context, Intent intent) {        // TODO: This method is called when the BroadcastReceiver is receiving        //Toast.makeText(context,"netChanged!",Toast.LENGTH_LONG).show();       ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();        if(networkInfo !=null && networkInfo.isAvailable())        {            Toast.makeText(context,"isAvailable!",Toast.LENGTH_LONG).show();        }else        {            Toast.makeText(context,"unAvailable!",Toast.LENGTH_LONG).show();        }    }}
OK了,静注册广播监听网络变化已实现。

0 0
原创粉丝点击