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 usandoitemem vez de"item"?