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
}
})
网友评论