На какую sim карту пришло СМС

Есть вот такой код который выводит входящие СМС при помощи тоста.

 @Override
    public void onReceive(Context context, Intent intent) {
        

        //---получить входящее SMS сообщение---
        Bundle bundle= intent.getExtras();
        SmsMessage[] msgs=null;
        String str="";
        if(bundle!=null)
        {
//---извлечь полученное SMS ---
            Object[] pdus=(Object[]) bundle.get("pdus");
            msgs=new SmsMessage[pdus.length];
            
            for(int i=0; i<msgs.length; i++){
                msgs[i]= SmsMessage.createFromPdu((byte[])pdus[i]);
                str+="SMS from "+ msgs[i].getOriginatingAddress();
                str+=" :";
                str+= msgs[i].getMessageBody().toString();
                //str+= msgs[i].getStatusOnSim();
                str+="\n";
            }
//---Показать новое SMS сообщение---
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
            

        }

    }

Я знаю, что мы не можем получить номер телефона на который пришло СМС, но как можно узнать на какую сим карту пришло сообщение (sim1, sim2)?


Ответы (1 шт):

Автор решения: test

Решение оказалось таким.

 Bundle bundle= intent.getExtras();
        int slot = bundle.getInt("slot", -1);
        Log.d("slot", String.valueOf(slot));

В данном случае если СМС приходит на 1ю сим карту slot =0 а если на 2ю то slot = 1

→ Ссылка