我正在学习自己的Android开发,并想知道我的设备是否有支持LTE网络的硬件。
我正在尝试下面的,但我认为它给了我错误的数据
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = cm.getAllNetworkInfo();
for(int i=0; i <info.length; i++){
Log.i("netinfo"+i, info[i].getType()+"");
Log.i("netinfo"+i, info[i].getTypeName());
Log.i("netinfo"+i, info[i].getSubtype()+"");
Log.i("netinfo"+i, info[i].getSubtypeName());
总之,我只想知道我的设备是支持LTE数据网络,还是只支持3g或4g网络。
提前感谢
我会选择:
int TelephonyManager.getDataNetworkType()
将该值与(定义的(常数进行比较:
NETWORK_TYPE_UNKNOWN, NETWORK_TYPE_GPRS, NETWORK_TYPE_EDGE,
NETWORK_TYPE_UMTS, NETWORK_TYPE_CDMA, NETWORK_TYPE_EVDO_0,
NETWORK_TYPE_EVDO_A, NETWORK_TYPE_1xRTT, NETWORK_TYPE_HSDPA,
NETWORK_TYPE_HSUPA, NETWORK_TYPE_HSPA, NETWORK_TYPE_IDEN,
NETWORK_TYPE_EVDO_B, NETWORK_TYPE_LTE, NETWORK_TYPE_EHRPD,
NETWORK_TYPE_HSPAP, NETWORK_TYPE_GSM, NETWORK_TYPE_TD_SCDMA,
NETWORK_TYPE_IWLAN, or NETWORK_TYPE_NR
NETWORK_TYPE_GSM is 2G
NETWORK_TYPE_GPRS, NETWORK_TYPE_EDGE is 2,5G
NETWORK_TYPE_UMTS is 3G
NETWORK_TYPE_HSDPA, NETWORK_TYPE_HSUPA, NETWORK_TYPE_HSPA, NETWORK_TYPE_HSPAP are 3,5G
NETWORK_TYPE_LTE is 4G
NETWORK_TYPE_NR is 5G
这是API参考