日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [React Native]獲取網絡狀態

[React Native]獲取網絡狀態

來源:程序員人生   發布時間:2016-09-27 08:59:18 閱讀次數:3895次

使用React Native,可使用NetInfo API獲得手機當前的各個網絡狀態。

componentWillMount() { NetInfo.fetch().done((status)=> { console.log('Status:'+status); }); }

獲得網絡狀態是異步的,上面使用了Promise機制。

Android端網絡狀態

要求網絡信息需要先在利用的AndroidManifest.xml文件中添加以下權限字段,申請相干權限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

這里寫圖片描述

修改完成后,reaload代碼是無效的,由于我們修改了Android原生的配置文件,需要重新履行react-native run-android命令。這個命令重新編譯對應的Android項目安裝包并安裝得手機中。

Android可獲得的狀態比較多,上面的status可能有以下的值,直接把文檔貼出來了:
+ NONE - 裝備處于離線狀態
+ BLUETOOTH - 藍牙數據連接
+ DUMMY - 摹擬數據連接
+ ETHERNET - 以太網數據連接
+ MOBILE - 移動網絡數據連接
+ MOBILE_DUN - 撥號移動網絡數據連接
+ MOBILE_HIPRI - 高優先級移動網絡數據連接
+ MOBILE_MMS - 彩信移動網絡數據連接
+ MOBILE_SUPL - 安全用戶面定位(SUPL)數據連接
+ VPN - 虛擬網絡連接。需要Android5.0以上
+ WIFI - WIFI數據連接
+ WIMAX - WiMAX數據連接
+ UNKNOWN - 未知數據連接

IOS端網絡狀態

  • none - 裝備處于離線狀態。
  • wifi - 裝備處于聯網狀態且通過wifi鏈接,或是1個iOS的摹擬器。
  • cell - 裝備是通過Edge、3G、WiMax或是LTE網絡聯網的。
  • unknown - 產生毛病,網絡狀態不可知

監聽網絡改變事件

在獲得了網絡狀態后,開發者還可以通過NetInfo API提供的監聽器,監聽網絡狀態改變事件。這樣當手機網絡狀態改變時,React Native利用馬上收到通知。

componentWillMount() { NetInfo.fetch().done((status)=> { console.log('Status:' + status); }); //監聽網絡狀態改變 NetInfo.addEventListener('change', this.handleConnectivityChange); } componentWillUnMount() { console.log("componentWillUnMount"); NetInfo.removeEventListener('change', this.handleConnectivityChange); } handleConnectivityChange(status) { console.log('status change:' + status); //監聽第1次改變后, 可以取消監聽.或在componentUnmount中取消監聽 // NetInfo.removeEventListener('change', this.handleConnectivityChange); }

判斷是不是有網絡連接

NetInfo API 為開發者提供了isConnected函數用來判斷當前手機是不是有網絡連接。

NetInfo.isConnected.fetch().done((isConnected) => { console.log('First, is ' + (isConnected ? 'online' : 'offline')); });

isConnectionExpensive(僅Android端)

NetInfo API為開發者提供了 isConnectionExpensive函數用來判斷當前網絡連接是不是付費的。如果當前連接是通過移動數據網絡,或通過基于移動數據網絡所創建的wifi熱門,都有可能被判定為計費的數據連接。目前這個函數只為Android平臺提供。

NetInfo.isConnectionExpensive((isConnectionExpensive) => { console.log('Connection is ' + (isConnectionExpensive ? 'Expensive' : 'Not Expensive')); });

更多精彩請關注微信公眾賬號likeDev
這里寫圖片描述

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩欧美精品 | 国产激情一区二区三区 | 可以直接在线观看的av | 欧美成人一区二区 | 成人做爰www免费看视频网战 | 不卡在线 | 精品成人av一区二区在线播放 | 在线精品国产 | 精品美女久久久久久免费 | 羞羞视频在线观看 | 99视频免费在线观看 | 91麻豆精品一二三区在线 | 国产精品又黄又爽又色 | 欧美特黄aaaaaaaa大片 | 91精品国产色综合久久不卡粉嫩 | 美女福利视频网站 | 成人在线国产 | 欧美日韩视频第一页 | 99精品国产高清一区二区麻豆 | 在线黄网站 | 欧美xxxx黑人又粗又长密月 | 久久一区精品 | 亚洲九九 | 偷拍自拍在线观看 | 成人深夜福利 | 日韩一级片 | 日韩精品一卡 | 中文字幕在线看 | 久久黄视频 | 日韩免费高清视频 | 狠狠地操| 操操日| 欧美中文在线观看 | www色av| 中文字幕91av | 最近中文幕mv免费高清 | 午夜精品美女久久久久av福利 | 久久精品视频在线播放 | 欧美成人第一页 | 福利视频久久 | 伊人精品成人久久综合软件 |