Przeczytałem wiele postów i wypróbowałem wiele rozwiązań, ale wspólnym punktem wszystkich postów było to, że wszystkie były przestarzałe i przynajmniej nie mogłem znaleźć rozwiązania, które działałoby na nowszych wersjach Androida.
Post 1 , Wynik:
intent.getExtras().getInt("simId", -1)
zawsze zwraca -1
Po 2 , Wynik: intent.getExtras().getInt("slot", -1)
zawsze zwraca -1
Post 3 , Wynik:
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));
}
Dzienniki:
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
wyświetla te same logi o tej samej wartości 0 dla pierwszej karty SIM i drugiej karty SIM.
Próbowałem także innych podobnych postów. Żadne nie działało na nowych wersjach Androida!
Czy istnieje inne rozwiązanie, które działa na nowszych wersjach Androida (7.0 lub nowszy)?
"item"
jest prawie na pewno niepoprawny w tym kontekście. Tak jak powiedziałem, spróbuj wydrukować to, co masz, a nie to, czego oczekujesz. Chociaż całe to rozwiązanie wygląda trochę jak włamanie, więc każdy użyteczny klucz, który znajdziesz, może nadal nie działać na niektórych urządzeniach.
intent.getExtras().getInt("item")
<- Nie powinieneś używaćitem
zamiast"item"
?