我读过很多帖子并尝试过很多解决方案,但所有帖子的共同点是它们都已经过时了,至少我找不到适用于较新版本的 Android 的解决方案。
Post 1 https://stackoverflow.com/a/21454296/6444297, 结果:intent.getExtras().getInt("simId", -1)
总是返回-1
Post 2 https://stackoverflow.com/a/35555668/6444297, 结果:intent.getExtras().getInt("slot", -1)
总是返回-1
Post 3 https://stackoverflow.com/a/54166869/6444297, 结果:
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
对于第一个 SimCard 和第二个 SimCard,它显示具有相同值 0 的相同日志。
我也尝试过其他类似的帖子。没有一个适用于新版本的Android!
是否有其他适用于较新版本的 Android(7.0 或更高版本)的解决方案?