Android獲取當(dāng)前手機(jī)網(wǎng)絡(luò)類型(2g、3g、4g、wifi)以及手機(jī)型號(hào)、版本號(hào)代碼
獲取手機(jī)型號(hào): android.os.Build.MODEL
獲取手機(jī)的SDK版本號(hào):android.os.Build.VERSION.SDK
獲取手機(jī)當(dāng)前網(wǎng)絡(luò)類型代碼如下:這是一個(gè)工具類,大家可以保存下來(lái)以后方便使用。
package com.iqtogether.qxueyou.support.util; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; /** * 獲取網(wǎng)絡(luò)連接的工具類 * Created by chengguo on 2016/3/17. */ public class IntenetUtil { //沒(méi)有網(wǎng)絡(luò)連接 public static final int NETWORN_NONE = 0; //wifi連接 public static final int NETWORN_WIFI = 1; //手機(jī)網(wǎng)絡(luò)數(shù)據(jù)連接類型 public static final int NETWORN_2G = 2; public static final int NETWORN_3G = 3; public static final int NETWORN_4G = 4; public static final int NETWORN_MOBILE = 5; /** * 獲取當(dāng)前網(wǎng)絡(luò)連接類型 * @param context * @return */ public static int getNetworkState(Context context) { //獲取系統(tǒng)的網(wǎng)絡(luò)服務(wù) ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); //如果當(dāng)前沒(méi)有網(wǎng)絡(luò) if (null == connManager) return NETWORN_NONE; //獲取當(dāng)前網(wǎng)絡(luò)類型,如果為空,返回?zé)o網(wǎng)絡(luò) NetworkInfo activeNetInfo = connManager.getActiveNetworkInfo(); if (activeNetInfo == null || !activeNetInfo.isAvailable()) { return NETWORN_NONE; } // 判斷是不是連接的是不是wifi NetworkInfo wifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (null != wifiInfo) { NetworkInfo.State state = wifiInfo.getState(); if (null != state) if (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING) { return NETWORN_WIFI; } } // 如果不是wifi,則判斷當(dāng)前連接的是運(yùn)營(yíng)商的哪種網(wǎng)絡(luò)2g、3g、4g等 NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (null != networkInfo) { NetworkInfo.State state = networkInfo.getState(); String strSubTypeName = networkInfo.getSubtypeName(); if (null != state) if (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING) { switch (activeNetInfo.getSubtype()) { //如果是2g類型 case TelephonyManager.NETWORK_TYPE_GPRS: // 聯(lián)通2g case TelephonyManager.NETWORK_TYPE_CDMA: // 電信2g case TelephonyManager.NETWORK_TYPE_EDGE: // 移動(dòng)2g case TelephonyManager.NETWORK_TYPE_1xRTT: case TelephonyManager.NETWORK_TYPE_IDEN: return NETWORN_2G; //如果是3g類型 case TelephonyManager.NETWORK_TYPE_EVDO_A: // 電信3g case TelephonyManager.NETWORK_TYPE_UMTS: case TelephonyManager.NETWORK_TYPE_EVDO_0: case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: case TelephonyManager.NETWORK_TYPE_EVDO_B: case TelephonyManager.NETWORK_TYPE_EHRPD: case TelephonyManager.NETWORK_TYPE_HSPAP: return NETWORN_3G; //如果是4g類型 case TelephonyManager.NETWORK_TYPE_LTE: return NETWORN_4G; default: //中國(guó)移動(dòng) 聯(lián)通 電信 三種3G制式 if (strSubTypeName.equalsIgnoreCase("TD-SCDMA") || strSubTypeName.equalsIgnoreCase("WCDMA") || strSubTypeName.equalsIgnoreCase("CDMA2000")) { return NETWORN_3G; } else { return NETWORN_MOBILE; } } } } return NETWORN_NONE; } }
以上內(nèi)容是小編給大家介紹的Android獲取當(dāng)前手機(jī)網(wǎng)絡(luò)類型(2g、3g、4g、wifi)以及手機(jī)型號(hào)、版本號(hào)的全部敘述,希望對(duì)大家有所幫助!
相關(guān)文章
Android實(shí)現(xiàn)Activity之間通信的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Activity之間通信的方法,涉及Android中Activity實(shí)現(xiàn)數(shù)據(jù)的發(fā)送及接收相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09Android使用Sqlite存儲(chǔ)數(shù)據(jù)用法示例
這篇文章主要介紹了Android使用Sqlite存儲(chǔ)數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Android操作SQLite數(shù)據(jù)庫(kù)的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-11-11Android使用Handler實(shí)現(xiàn)倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了Android使用Handler實(shí)現(xiàn)倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Android BottomSheetDialog實(shí)現(xiàn)底部對(duì)話框的示例
這篇文章主要介紹了Android BottomSheetDialog實(shí)現(xiàn)底部對(duì)話框的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Android自定義控件實(shí)現(xiàn)icon+文字的多種效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)icon+文字的多種效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android開發(fā)中LayoutInflater用法詳解
這篇文章主要介紹了Android開發(fā)中LayoutInflater用法,結(jié)合實(shí)例形式分析了LayoutInflater類的功能、作用、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-08-08Android開發(fā)之資源文件用法實(shí)例總結(jié)
這篇文章主要介紹了Android開發(fā)之資源文件用法,結(jié)合實(shí)例形式總結(jié)分析了Android開發(fā)過(guò)程中針對(duì)資源文件的常見(jiàn)操作技巧,需要的朋友可以參考下2016-02-02