Android网络状态广播监听

public class NetworkChangeReceiver extends BroadcastReceiver {
        private final static String TAG = "Monitor_NetworkChangeReceiver";
        private final static int STATUS_WIFI = 2;
        private final static int STATUS_GPRS = 1;
        private final static int STATUS_ERROR = 0;

        private static int mStatus = 2;

        @Override
        public void onReceive(Context context, Intent intent) {
                Logger.d(TAG, "");
                Logger.d(TAG, "网络状态改变,进入onReceive方法");
                int tempStatus = -1;
                // 获得网络连接服务
                ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                State state_wifi = null;
                State state_gprs = null;
                try {
                        state_wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); // 获取网络连接状态
                } catch (Exception e) {
                        Logger.d(TAG, "测试机没有WIFI模块");
                }
                try {
                        state_gprs = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); // 获取网络连接状态
                } catch (Exception e) {
                        Logger.d(TAG, "测试机没有GPRS模块");
                }
                if (null != state_wifi && State.CONNECTED == state_wifi) { // 判断是否正在使用WIFI网络
                        tempStatus = STATUS_WIFI;
                        Logger.d(TAG, "mStatus=" + mStatus + "改变后的网络为WIFI");
                } else if (null != state_gprs && State.CONNECTED == state_gprs) { // 判断是否正在使用GPRS网络
                        tempStatus = STATUS_GPRS;
                        Logger.d(TAG, "mStatus=" + mStatus + "改变后的网络为GPRS");
                } else {
                        tempStatus = STATUS_ERROR;
                        Logger.d(TAG, "mStatus=" + mStatus + "改变后的网络为ERROR");
                }
                if (mStatus != tempStatus) {
                        BaseAct.initOption();
                        Logger.d(TAG, "mStatus与改变后的网络不同,网络真的改变了");
                } else {
                        Logger.d(TAG, "mStatus与改变后的网络相同,不处理");
                }
                mStatus = tempStatus;
        }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值