【问题标题】:Detect 5G NR (SA/NSA) in my Android Application在我的 Android 应用程序中检测 5G NR (SA/NSA)
【发布时间】:2020-06-11 19:53:31
【问题描述】:

我正在尝试检测 5G 网络。我使用电话管理器获取NETWORK_TYPE。即使我在 5G 网络覆盖范围内并且我的手机显示 5G,我也没有得到 NETWORK_TYPE_NR。 NETWORK_TYPE 始终为 13,即 LTE。 电话工程服务模式显示 NR 相关数据。 有什么方法可以检测 NR(Standalone 或 Non-Standalone)模式?

我还需要获取 NR 数据的小区信息。我使用telephonyManager.getAllCellinfo(),但我从未得到cellinfonr 的实例。

感谢任何帮助。谢谢

【问题讨论】:

    标签: android telephonymanager cellinfo 5g


    【解决方案1】:

    几周前我遇到了同样的问题。就我而言,我想在 Galaxy S20-5G 上检测 5G 网络,但 getDataNetworkType() 总是返回 13 NETWORK_TYPE_LTE。 遵循netmonster-core 策略,这是我从中提取的用于解决我的问题的代码。

    public boolean isNRConnected(TelephonyManager telephonyManager) {
        try {
            Object obj = Class.forName(telephonyManager.getClass().getName())
                    .getDeclaredMethod("getServiceState", new Class[0]).invoke(telephonyManager, new Object[0]);
            // try extracting from string
            String serviceState = obj.toString();
            boolean is5gActive = serviceState.contains("nrState=CONNECTED") ||
                    serviceState.contains("nsaState=5") ||
                    (serviceState.contains("EnDc=true") &&
                            serviceState.contains("5G Allocated=true"));
            if (is5gActive) {
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    

    这是来自netmonster-core 的完整检测器类: (DetectorLteAdvancedNrServiceState.kt)

    【讨论】:

    • @Sophoun 感谢您的回答。这会检测我是否使用 5G,但是否有任何东西可以让我获得“cellinfonr”对象。即使我处于 5G 覆盖范围内,GetallCellinfo() api 也不会返回 nr 详细信息。
    • 所以经过大量测试后,我发现我们只能在 NR-SA 设备上而不是在 NR-NSA 设备上获得“Cellinfonr”对象。在 NR-NSA 设备上,我们可以使用上述答案检测 5G,并可以从“CellSignalStrengthNr”api 获取 NR 信号信息。
    • @AkshayChougule 你能否分享一些关于如何获得 CellSignalStrengthNr 的代码,因为当设备处于 NR-NSA 时,TelephonyManager 会返回 CellInfoLTE 实例。
    • @HashimAli 使用 telephonyManager.getSignalStrength();
    • NR 状态现在在 Android 12 中被屏蔽
    猜你喜欢
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    相关资源
    最近更新 更多