使用ConnectivityManager来获取、监听当前的网络状态

本文介绍了如何利用ConnectivityManager获取Android系统的网络连接状态,并通过BroadcastReceiver监听网络连接的变更事件。重点在于如何设置监听器以及在Activity销毁时正确移除监听器以防止内存泄漏。
摘要由CSDN通过智能技术生成

获取网络连接状态

ConnectivityManager可以获取Android系统的网络连接相关信息,它是系统服务中的一员:

ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
得到管理器对象后,调用getActiveNetworkInfo()即可获得当前活动的网络连接信息了,若无网络访问,返回NULL

NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
根据getType()返回的值来判断是哪一种网络连接类型,一般来说,我们只要判断有无、是否是WIFI就行了

        int state = NETWORK_NULL;
        if(mNetworkInfo != null){
            switch (mNetworkInfo.getType()){
                case -1:
                    state = NETWORK_NULL;
                    break;
                case ConnectivityManager.TYPE_MOBILE:
                    state = NETWORK_MOBILE;
                    break;
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值