android 判断5g,Android 5G判断

之前需要用到5G网络信息,花了很长时间才去研究怎么判断是否是5G信号,但无论是官方说明的CellInfoNr,CellIdentityNr,CellSignalStrengthNr,最后连一个网络连接callback都用过了,在华为mate30 5G版上拿到的都是LTE(13),真的是心态爆炸。

一次偶然的机会看到ServiceState类,发现它有一个getNrState的方法,查了一下,返回为3的时候就是5G网络,详细代码如下

/**

* Get the NR 5G state of the mobile data network.

* @return the NR 5G state.

* @hide

*/

public @NRState int getNrState() {

final NetworkRegistrationInfo regInfo = getNetworkRegistrationInfo(

NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);

if (regInfo == null) return NetworkRegistrationInfo.NR_STATE_NONE;

return regInfo.getNrState();

}

是一个隐藏的方法,但还是迫不及待的用反射试了一下

private boolean is5GConnected(){

TelephonyManager telephonyManager = (TelephonyManager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值