React-Native 检测是否处于wifi状态

1.导入NetInfo

componentWillMount() {
        NetInfo.fetch().done((status)=> {
            console.log('Status:'+status);
            if((status !== 'wifi'  )&& wifiTip ){
                Alert.alert('网络检测', '请网络是否wifi状态,注意您的流量哦', [
                    {
                        text: '不再提示', onPress: ()=> {
                        wifiTip = false;
                    }},
                    {
                        text: '好的', onPress: ()=> {
                            wifiTip = true;
                        }
                    }
                ])
            }
        });
        //监听网络状态改变
        NetInfo.addEventListener('change', this.handleConnectivityChange);
}
//监听网络状态改变
    handleConnectivityChange(status) {
        console.log('status change:' + status);
        if(status === 'wifi' ){
            Alert.alert('网络检测', '请网络是否wifi状态,注意您的流量哦', [
                {
                    text: '好的', onPress: ()=> {
                    wifiTip = true;
                }
                }
            ])
        }

    }
componentWillUnmount() {
       
        //取消网络状态监听
        NetInfo.removeEventListener('change', this.handleConnectivityChange);
    }

官方有个ios的unknown的bug,我是这样解决的:

//检测网络连接信息
        NetInfo.fetch().done((connectionInfo) => {
            if(connectionInfo!== 'none' && connectionInfo!== 'unknown'){
                if(connectionInfo != 'WIFI'&& connectionInfo != 'WIFI'  ){
                    // alert('移动')
                    global.constants.netInfoIsWIFI = false
                }
            }else{
                // alert('WIFI')
                global.constants.netInfoIsWIFI = true
            }
        });

        //监听网络变化事件
        NetInfo.addEventListener('change', (networkType) => {
            if(networkType!== 'none' && networkType!== 'unknown'){
                if(networkType != 'WIFI' && networkType != 'wifi' ){
                    // alert('移动2')
                    global.constants.netInfoIsWIFI = false
                }
            }else{
                // alert('WIFI2')
                global.constants.netInfoIsWIFI = true
            }
        })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 回到自己家小区门口,林小米提议回家去拿钱然后请郑建吃饭作为感谢,郑建开心地点头同意了。 从电梯出来,打开门郑建意外...
    吴桐wutong阅读 3,056评论 0 0
  • 一,这节课影响最深的三点是? 1,第五组的讲解"记忆"。 2,老师讲到记忆最深的回忆初中或高中同学。 3,课件小视...
    波波小鱼阅读 1,079评论 0 0
  • 项目经理的角色 项目经理是由执行组织委派,领导团队实现项目目标的个人。项目经理有责任满足以下需求:任务需求、团队需...
    乾丽无限阅读 4,005评论 0 50
  • 青荷初露尖乍起,幽兰相间逐艳成。 往事何堪惆绪落,惜君回望泪眼蒙。 清梦扥呈归旧事,散缘帆柢忆昨生。 十年虚度夺心...
    古城苍狼阅读 3,003评论 2 12