gpt4 book ai didi

android - 如何检测三星S10 5G是否运行在5G网络上?

转载 作者:行者123 更新时间:2023-11-29 23:14:05 27 4
gpt4 key购买 nike

Android Q 为 5G 添加了新的网络类型 NETWORK_TYPE_NR,即不适用于 Android Pie。近期发布的三星S10全面支持5G。处于5G网络状态时,可在状态栏显示5G图标。

第三方应用是否可以知道 Android Pie 设备是否在 5G 网络上?

我们将不胜感激。

以下链接是新网络类型的定义。它在 Android Pie 分支上不可用。

最佳答案

我相信他们将代码从 Q 反向移植到 Pie,因为 5G 的逻辑已于去年年底在 Q(alpha)中实现。所以在使用的时候TelephonyManager.getNetworkType()

你可能会得到

20 (5G)

编辑

根据下面的评论:网络类型将为 13,因此它无法解决问题。

编辑

尝试使用反射

static boolean isNRConnected(TelephonyManager telephonyManager) {
try {
Object obj = Class.forName(telephonyManager.getClass().getName())
.getDeclaredMethod("getServiceState", new Class[0]).invoke(telephonyManager, new Object[0]);

Method[] methods = Class.forName(obj.getClass().getName()).getDeclaredMethods();

for (Method method : methods) {
if (method.getName().equals("getNrStatus") || method.getName().equals("getNrState")) {
method.setAccessible(true);
return ((Integer) method.invoke(obj, new Object[0])).intValue() == 3;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

关于android - 如何检测三星S10 5G是否运行在5G网络上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55598359/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com