Eu li muitas postagens e tentei muitas soluções, mas o ponto comum de todas as postagens era que elas estavam desatualizadas e, pelo menos, não consegui encontrar uma solução que funcionasse nas versões mais recentes do Android.
Post 1 , Resultado:
intent.getExtras().getInt("simId", -1)
sempre retorna -1
Post 2 , Resultado: intent.getExtras().getInt("slot", -1)
sempre retorna -1
Post 3 , Resultado:
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));
}
Histórico:
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
exibe os mesmos logs com o mesmo valor 0 para o primeiro SimCard e o segundo SimCard.
Eu também tentei outros posts semelhantes. Nenhum funcionou em novas versões do android!
Existe outra solução que funcione em versões mais recentes do Android (7.0 ou superior)?
"item"
é quase certamente incorreto neste contexto. Como eu disse, tente imprimir o que você tem e não o que você está esperando. Embora toda essa solução pareça um hack, qualquer chave utilizável que você encontrar ainda pode não funcionar em alguns dispositivos.
intent.getExtras().getInt("item")
<- você não deveria estar usandoitem
em vez de"item"
?