检测哪张SIM卡接收了短信

6

我正在尝试在双卡或三卡支持的手机上,在BroadcastReceiver中检测哪张SIM卡接收了传入的信息。

注意: 所有SIM卡都有相同的SMSC。


3
厌倦了搜寻资料和 Stackoverflow。 - Mohammad Lotfi
请查看此链接,这可能是你需要的:https://dev59.com/r1sV5IYBdhLWcg3wpgND#67496573 - Elfnan Sherif
2个回答

1
看起来信息可能在带有键"simSlot"的Intent extra中。
public void onReceive(Context context, Intent intent) {
    ...        
    int simSlot = intent.getIntExtra("simSlot", -1);
    ...
}

我在我的简短搜索中也没有找到关于这个的任何信息,所以我不确定这是多普遍的还是在哪个 Android 版本中引入的。我通过在我的设备上的接收器中转储所有额外的 Intent 来发现它。


在安卓10上对我没用。在接收两张SIM卡的短信时,simSlot始终为-1。 - Wijay Sharma
@WijaySharma 这并不让我感到意外。这应该是一条评论,而不是答案。很抱歉它给你带来了误导。如果我晚些时候有时间,我会做些研究并更新此答案。如果我这样做了,我会让你知道。 - Mike M.

-1

此工作适用于搭载联发科芯片组的联想手机

public void onReceive(Context context, Intent intent) {
    ...        
    int simId = intent.getIntExtra("simId", -1);
    ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接