Я прочитал много постов и перепробовал множество решений, но общая черта всех постов заключалась в том, что все они устарели, и, по крайней мере, я не смог найти решение, которое бы работало на более новых версиях Android.
Пост 1 , Результат:
intent.getExtras().getInt("simId", -1)
всегда возвращает -1
Пост 2 , Результат: intent.getExtras().getInt("slot", -1)
всегда возвращает -1
Пост 3 , Результат:
String[] array = new String[]{
"extra_asus_dial_use_dualsim",
"com.android.phone.extra.slot",
"slot",
"simslot",
"sim_slot",
"subscription",
"Subscription",
"phone",
"com.android.phone.DialingMode",
"simSlot",
"slot_id",
"simId",
"simnum",
"phone_type",
"slotId",
"slotIdx"
};
for (String item :
array) {
Log.i(TAG, "Sim Card - " + item + " -----> " + intent.getExtras().getInt(item));
}
Журналы:
PhoneCallReceiver: Sim Card - extra_asus_dial_use_dualsim -----> 0
PhoneCallReceiver: Sim Card - com.android.phone.extra.slot -----> 0
PhoneCallReceiver: Sim Card - slot -----> 0
PhoneCallReceiver: Sim Card - simslot -----> 0
PhoneCallReceiver: Sim Card - sim_slot -----> 0
PhoneCallReceiver: Sim Card - subscription -----> 0
PhoneCallReceiver: Sim Card - Subscription -----> 0
PhoneCallReceiver: Sim Card - phone -----> 0
PhoneCallReceiver: Sim Card - com.android.phone.DialingMode -----> 0
PhoneCallReceiver: Sim Card - simSlot -----> 0
PhoneCallReceiver: Sim Card - slot_id -----> 0
PhoneCallReceiver: Sim Card - simId -----> 0
PhoneCallReceiver: Sim Card - simnum -----> 0
PhoneCallReceiver: Sim Card - phone_type -----> 0
PhoneCallReceiver: Sim Card - slotId -----> 0
PhoneCallReceiver: Sim Card - slotIdx -----> 0
он отображает одинаковые логи с одинаковым значением 0 для первой SimCard и второй SimCard.
Я также пробовал другие подобные посты. Никто не работал на новых версиях Android!
Есть ли другое решение, которое работает на более новых версиях Android (7.0 или выше)?
"item"
почти наверняка неверно в этом контексте. Как я уже сказал, попробуйте напечатать то, что у вас есть, а не то, что вы ожидаете. Хотя все это решение выглядит как хакерский, любой найденный вами полезный ключ все еще может не работать на некоторых устройствах.
intent.getExtras().getInt("item")
<- Разве вы не должны использовать,item
а не"item"
?