1.導(dǎo)入NetInfo
componentWillMount() {
NetInfo.fetch().done((status)=> {
console.log('Status:'+status);
if((status !== 'wifi' )&& wifiTip ){
Alert.alert('網(wǎng)絡(luò)檢測(cè)', '請(qǐng)網(wǎng)絡(luò)是否wifi狀態(tài),注意您的流量哦', [
{
text: '不再提示', onPress: ()=> {
wifiTip = false;
}},
{
text: '好的', onPress: ()=> {
wifiTip = true;
}
}
])
}
});
//監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)改變
NetInfo.addEventListener('change', this.handleConnectivityChange);
}
//監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)改變
handleConnectivityChange(status) {
console.log('status change:' + status);
if(status === 'wifi' ){
Alert.alert('網(wǎng)絡(luò)檢測(cè)', '請(qǐng)網(wǎng)絡(luò)是否wifi狀態(tài),注意您的流量哦', [
{
text: '好的', onPress: ()=> {
wifiTip = true;
}
}
])
}
}
componentWillUnmount() {
//取消網(wǎng)絡(luò)狀態(tài)監(jiān)聽(tīng)
NetInfo.removeEventListener('change', this.handleConnectivityChange);
}
官方有個(gè)ios的unknown的bug,我是這樣解決的:
//檢測(cè)網(wǎng)絡(luò)連接信息
NetInfo.fetch().done((connectionInfo) => {
if(connectionInfo!== 'none' && connectionInfo!== 'unknown'){
if(connectionInfo != 'WIFI'&& connectionInfo != 'WIFI' ){
// alert('移動(dòng)')
global.constants.netInfoIsWIFI = false
}
}else{
// alert('WIFI')
global.constants.netInfoIsWIFI = true
}
});
//監(jiān)聽(tīng)網(wǎng)絡(luò)變化事件
NetInfo.addEventListener('change', (networkType) => {
if(networkType!== 'none' && networkType!== 'unknown'){
if(networkType != 'WIFI' && networkType != 'wifi' ){
// alert('移動(dòng)2')
global.constants.netInfoIsWIFI = false
}
}else{
// alert('WIFI2')
global.constants.netInfoIsWIFI = true
}
})