Search code examples
androidsmsbroadcastreceivermessagingtelephony

Detect which SIM card has received message


I'm trying to detect which SIM card has received the incoming message in BroadcastReceiver on a Dual or Triple SIM support phone.

Note: All SIM cards has same SMSC.


Solution

  • It seems that info might be in an Intent extra with the key "simSlot".

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

    I couldn't find any info on this, either, in my admittedly brief search, so I'm not sure how universal this is, or in which Android version this might have been introduced. I found it by dumping all the extras on the delivered Intent in a Receiver on my device.