获取双卡(主物理卡和辅助电子卡)Android 的 Cellinfo

问题描述 投票:0回答:1

背景:如标题中所述,我使用两个 sim(一张物理卡和一张 Esim)。根据用户的需要,任一卡均可成为主卡。此外,两个 SIM 卡同时处于活动状态。

我的应用程序涉及从设备获取手机信息和信号强度。 我使用 telephonyManager.getAllCellInfo()telephonyManager.getSignalStrength() 来获取相关数据。但数据仅适用于主要 sim。 有没有办法同时从主要和辅助SIM卡获取这些数据(小区信息和信号强度对象)?

其他研究: 使用订阅管理器,我能够同时从两个SIM卡中获取一些数据,例如电话号码、MCC、MNC、运营商名称。

android telephonymanager signal-strength cellinfo multisim
1个回答
0
投票

我猜你正在使用类似的东西: context.getSystemService(Context.TELEPHONY_SERVICE) 作为 TelephonyManager? 获取 Telephony 实例。

上面返回的 TelephonyManager 将为您尝试获取的数据使用默认订阅。

根据 Android 文档: 要调用特定订阅的 API,请使用 createForSubscriptionId(int)。 例如telephonyManager = defaultSubTelephonyManager.createForSubscriptionId(subId);

因此,如果您想获取特定订阅的 Telephony 实例,您需要知道它的 subscriptionId。

您可以使用 SubscriptionManager.activeSubscriptionInfoList 获取 subscriptionId 列表,并为每个 subscriptionId 创建自己的电话实例。

© www.soinside.com 2019 - 2024. All rights reserved.