Leí muchas publicaciones y probé muchas soluciones, pero el punto común de todas las publicaciones fue que todas estaban desactualizadas y al menos no pude encontrar una solución que funcionara en las versiones más recientes de Android.
Publicación 1 , Resultado:
intent.getExtras().getInt("simId", -1)
siempre devuelve -1
Publicación 2 , Resultado: intent.getExtras().getInt("slot", -1)
siempre devuelve -1
Puesto 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));
}
Registros:
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
muestra los mismos registros con el mismo valor 0 para la primera SimCard y la segunda SimCard.
También probé otras publicaciones similares. ¡Ninguno funcionó en nuevas versiones de Android!
¿Hay alguna otra solución que funcione en las versiones más recientes de Android (7.0 o superior)?
"item"
es casi seguro que es incorrecto en este contexto. Como dije, intente imprimir lo que tiene en lugar de lo que espera. Aunque toda esta solución parece un truco, cualquier clave utilizable que encuentre podría no funcionar en algunos dispositivos.
intent.getExtras().getInt("item")
<- ¿No deberías estar usando enitem
lugar de"item"
?