Android判斷網(wǎng)絡(luò)類型的方法(2g,3g還是wifi)
本文實(shí)例講述了Android判斷網(wǎng)絡(luò)類型的方法。分享給大家供大家參考,具體如下:
判斷網(wǎng)絡(luò)類型是wifi,還是3G,還是2G網(wǎng)絡(luò),對(duì)不同的網(wǎng)絡(luò)進(jìn)行不同的處理,現(xiàn)將判斷方法整理給大家,以供參考
說(shuō)明:下面用到的數(shù)據(jù)移動(dòng)2G,聯(lián)通2G,聯(lián)通3G,wifi我都已經(jīng)測(cè)試過(guò),暫時(shí)手上沒(méi)有電信的卡,所以沒(méi)有驗(yàn)證,有電信手機(jī)的同事,可以驗(yàn)證一下,驗(yàn)證后將結(jié)果發(fā)送給大家。
ConnectivityManager connectMgr = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectMgr.getActiveNetworkInfo();
一、判斷網(wǎng)絡(luò)是否是wifi,在判斷之前一定要進(jìn)行的非空判斷,如果沒(méi)有任何網(wǎng)絡(luò)連接
info ==null info.getType() == ConnectivityManager.TYPE_WIFI
二、判斷是否是手機(jī)網(wǎng)絡(luò)
info !=null && info.getType() == ConnectivityManager.TYPE_MOBILE
手機(jī)網(wǎng)絡(luò)進(jìn)行詳細(xì)區(qū)分:
info.getSubtype() 這里使用 getSubtype(),不是 getType(),getType()返回的是0,或者1,是區(qū)分是手機(jī)網(wǎng)絡(luò)還是wifi
info.getSubtype()取值列表如下:
* NETWORK_TYPE_CDMA 網(wǎng)絡(luò)類型為CDMA
* NETWORK_TYPE_EDGE 網(wǎng)絡(luò)類型為EDGE
* NETWORK_TYPE_EVDO_0 網(wǎng)絡(luò)類型為EVDO0
* NETWORK_TYPE_EVDO_A 網(wǎng)絡(luò)類型為EVDOA
* NETWORK_TYPE_GPRS 網(wǎng)絡(luò)類型為GPRS
* NETWORK_TYPE_HSDPA 網(wǎng)絡(luò)類型為HSDPA
* NETWORK_TYPE_HSPA 網(wǎng)絡(luò)類型為HSPA
* NETWORK_TYPE_HSUPA 網(wǎng)絡(luò)類型為HSUPA
* NETWORK_TYPE_UMTS 網(wǎng)絡(luò)類型為UMTS
聯(lián)通的3G為UMTS或HSDPA,移動(dòng)和聯(lián)通的2G為GPRS或EDGE,電信的2G為CDMA,電信的3G為EVDO
android獲取手機(jī)的ip地址
private String getPhoneIp() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { //if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) { return inetAddress.getHostAddress().toString(); } } } } catch (Exception e) { } return ""; }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android 判斷網(wǎng)絡(luò)狀態(tài)實(shí)例詳解
- Android中判斷網(wǎng)絡(luò)是否連接實(shí)例詳解
- Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問(wèn)題的解決方法
- Android編程判斷網(wǎng)絡(luò)是否可用及調(diào)用系統(tǒng)設(shè)置項(xiàng)的方法
- Android中判斷網(wǎng)絡(luò)連接狀態(tài)的方法
- Android編程判斷網(wǎng)絡(luò)連接是否可用的方法
- Android中判斷網(wǎng)絡(luò)是否可用的代碼分享
- Android中監(jiān)聽判斷網(wǎng)絡(luò)連接狀態(tài)的方法
- Android中判斷網(wǎng)絡(luò)連接是否可用及監(jiān)控網(wǎng)絡(luò)狀態(tài)
- Android 判斷網(wǎng)絡(luò)狀態(tài)及開啟網(wǎng)路
相關(guān)文章
Android中的應(yīng)用認(rèn)領(lǐng)總結(jié)
這篇文章主要介紹了Android中的應(yīng)用認(rèn)領(lǐng)總結(jié),本文講解了如何認(rèn)領(lǐng)、對(duì)未簽名包簽名、需要替換的簽名值、驗(yàn)證簽名等內(nèi)容,需要的朋友可以參考下2015-01-01Android開發(fā)中LayoutInflater用法詳解
這篇文章主要介紹了Android開發(fā)中LayoutInflater用法,結(jié)合實(shí)例形式分析了LayoutInflater類的功能、作用、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-08-08android ftp上傳功能實(shí)現(xiàn)步驟
在本篇內(nèi)容里小編給大家分享的是關(guān)于android ftp上傳功能實(shí)現(xiàn)步驟內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2018-12-12Android遞歸方式刪除某文件夾下的所有文件(.mp3文件等等)
以刪除為例,當(dāng)然,對(duì)于遍歷某文件夾下的所有文件均可用這個(gè)方法。如搜索.mp3文件等,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06Flutter?Android多窗口方案落地實(shí)戰(zhàn)
這篇文章主要為大家介紹了Flutter?Android多窗口方案落地實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02