【问题标题】:Detect which SIM card has received message检测哪张 SIM 卡收到了消息
【发布时间】:2015-02-27 09:55:18
【问题描述】:

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

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

【问题讨论】:

标签: android sms broadcastreceiver messaging telephony


【解决方案1】:

似乎信息可能在带有密钥 "simSlot" 的 Intent extra 中。

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

在我公认的简短搜索中,我也找不到这方面的任何信息,所以我不确定它的普遍性,或者它可能在哪个 Android 版本中被引入。我通过将已交付 Intent 上的所有附加内容转储到我设备上的 Receiver 中找到了它。

【讨论】:

  • 在 android 10 中对我不起作用。在两张 SIM 卡中接收短信时总是得到 simSlot -1
  • @WijaySharma 这并不让我感到惊讶。这应该是评论,而不是答案。很抱歉误导了你。如果我以后有时间,我会做一些研究,并更新这个答案。如果/当我这样做,我会告诉你的。
【解决方案2】:

这适用于配备联发科芯片组的联想手机

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2016-05-18
    • 2012-05-16
    • 2012-01-22
    相关资源
    最近更新 更多