Ho letto molti post e provato molte soluzioni, ma il punto comune di tutti i post era che erano tutti obsoleti e almeno non riuscivo a trovare una soluzione che funzionasse con le versioni più recenti di Android.
Post 1 , Risultato:
intent.getExtras().getInt("simId", -1)
restituisce sempre -1
Post 2 , Risultato: intent.getExtras().getInt("slot", -1)
restituisce sempre -1
Post 3 , Risultato:
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));
}
logs:
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
visualizza gli stessi registri con lo stesso valore 0 per la prima SimCard e la seconda SimCard.
Ho anche provato altri post simili. Nessuno ha funzionato su nuove versioni di Android!
Esiste un'altra soluzione che funziona con le versioni più recenti di Android (7.0 o successive)?
"item"
è quasi certamente errato in questo contesto. Come ho detto, prova a stampare quello che hai e non quello che ti aspetti. Anche se l'intera soluzione sembra un po 'un trucco, quindi qualsiasi chiave utilizzabile che potresti trovare potrebbe non funzionare su alcuni dispositivi.
intent.getExtras().getInt("item")
<- Non dovresti usareitem
piuttosto che"item"
?