私はたくさんの投稿を読んで多くの解決策を試しましたが、すべての投稿の共通点は、それらがすべて古くなっており、少なくとも新しいバージョンのAndroidで動作する解決策が見つからなかったことです。
投稿1、結果:
intent.getExtras().getInt("simId", -1)
常に-1を返します
投稿2、結果:intent.getExtras().getInt("slot", -1)
常に-1を返します
投稿3、結果:
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));
}
ログ:
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と2番目のSimCardには同じ値0の同じログが表示されます。
他の同様の投稿も試しました。新しいバージョンのAndroidでは動作しませんでした!
Androidの新しいバージョン(7.0以降)で動作する別のソリューションはありますか?
"item"
このコンテキストではほぼ間違いなく間違っています。私が言ったように、あなたが期待しているものではなく、あなたが持っているものを印刷してみてください。このソリューション全体は少しハックのように見えますが、使用可能なキーを見つけても、一部のデバイスでは機能しない可能性があります。
intent.getExtras().getInt("item")
<-item
ではなく使用しているのでは"item"
ないですか?