Я искал это за последние несколько дней, и я узнал, что:
"Двойная SIM-карта не поддерживается в Android из коробки. Это пользовательская модификация производителей, и для ее контроля нет публичного API".
В приведенной ниже ссылке есть решение, но оно не работает на моем телефоне Samsung Galaxy S4 Mini.
Я также нашел эту ссылку, которую я нашел очень информативной.
http://www.devlper.com/2010/06/using-android-telephonymanager/
Теперь я знаю, что, используя следующий код, у меня может быть шанс, что вам удастся заставить его работать:
Intent callIntent = new Intent(Intent.ACTION_CALL)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setData(Uri.parse("tel:" + phone));
context.startActivity(callIntent);
callIntent.putExtra("com.android.phone.extra.slot", 0); //For sim 1
and
callIntent.putExtra("com.android.phone.extra.slot", 1); //For sim 2
Я не уверен в этом, но у меня есть вопрос.
В настройках в разделе "Диспетчер SIM-карты", когда мне нужно выбрать предпочтительную SIM-карту для голосового вызова, я получаю четыре варианта:
- Текущая сеть
- Спросить всегда
- SIM 1
- SIM 2
Когда я выбираю параметр "Спросить всегда" , перед выполнением звонка мне всегда предлагается выбрать SIM-карту, отображаемую в диалоговом окне, чтобы позвонить. Мой вопрос: могу ли я использовать эту вещь в своем приложении, где я нажимаю кнопку, чтобы позвонить, но она всегда спрашивает меня так же, как и при выборе параметра "Спросить всегда" .
Извините, я долго задавал этот вопрос, но я думаю, что он этого требует. Пожалуйста, помогите и большое спасибо заранее.
EDIT:
Как я могу добиться этого, каждый раз, когда я нажимаю любую кнопку (вид похожих на параметр "Спросить всегда" в настройках):