如何解决检查设备是否支持 LTE 数据连接
我正在自学 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_HSPAP are 3,5G
NETWORK_TYPE_LTE is 4G
NETWORK_TYPE_NR is 5G
这是 API 参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。