1

我的测试手机是搭载 Android 5.0.2 的三星 A3。

插入 SIM2 且插槽 1 为空时

getNetworkOperator()
onSignalStrengthChanged()
onCellLocationChanged()

报告 SIM2 的 LAC、CID、CSQ 和运营商。

插入 SIM1 时,所有数据都用于 SIM1。SIM2 的数据未报告。

我必须做什么才能同时获得两个 SIM 卡的 LAC:CID:CSQ:OPER?

编辑

关于 LAC:CID:CSQ 的答案在:Android 信号强度

但是如何让两个 SIM 卡的网络运营商?

=== 带有完整答案的总结编辑 ===

根据@headuck中的帖子: Android 信号强度
在课堂上的位置:

public class MultiSimListener extends PhoneStateListener

是信号强度监听器:

public void onSignalStrengthsChanged(SignalStrength signalStrength) {}    

要获取当前的 LAC:CID,应添加:

public void  onCellLocationChanged (CellLocation cl){}

并使用数字、alpha short 和 alpha long 值获取网络当前运营商(这可能会在漫游中改变):

public void onServiceStateChanged(ServiceState serviceState){}

并且在 tm.listen 中必须添加 LISTEN_ 值:

tm.listen(listener[subIdList[i]], 
     PhoneStateListener.LISTEN_SIGNAL_STRENGTHS 
    | PhoneStateListener.LISTEN_CELL_LOCATION
    | PhoneStateListener.LISTEN_SERVICE_STATE);    

其中tm是 TelephonyManager 实例。

除了在两个插槽中获取 IMEI1、IMEI2、双 SIM 卡、SIM 卡和漫游之外,还可以使用 Android 中的TelephonyInfo:如何在双卡手机 @Anand Makwana帖子中获取两个 SIM 卡的 SIM ID。

所有这些都适用于 Android 5.0,我不知道如何使用 5.1。

在 Android 4 MultiSimListener 中不起作用,但 TelephonyInfo 可以。

4

0 回答 0