gpt4 book ai didi

android - 如何在所有双卡 android 手机上直接调用指定 sim 卡的号码而不调用系统 sim 选择器?

转载 作者:行者123 更新时间:2023-11-30 00:15:05 25 4
gpt4 key购买 nike

I searched and read all the questions and answers similar to this question but non is solving my problem.

我想制作一个拨号应用程序。但问题是系统弹出窗口要求用户选择 SIM 卡。我想将此信息(系统应通过其调用电话而不要求用户选择 SIM 卡)发送到系统,系统直接使用此 SIM 卡调用电话。所以我希望在我的应用程序中使用此流程:

用户按下按钮 --> 系统通过 SIM 1 调用电话

用户按下按钮 --> 系统通过 SIM 2 调用电话

这个网站上的大多数答案都说不可能完成这样的任务,

but Trucaller is using this similar feature, where you press the number and it makes call directly to that number with SIM 1 or SIM 2 without system interaction.

如果您需要更多说明或我的问题中缺少某些内容,请告诉我。

最佳答案

试试这段代码:

    //0 or 1 
int simSelected = 0;
TelecomManager telecomManager = (TelecomManager) this.getSystemService(Context.TELECOM_SERVICE);
List<PhoneAccountHandle> phoneAccountHandleList = telecomManager.getCallCapablePhoneAccounts();
Intent intent = new Intent(Intent.ACTION_CALL).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("tel:" + "PHONE_NUMBER"));
intent.putExtra("com.android.phone.force.slot", true);
if (simSelected == 0) { //0 for sim1
intent.putExtra("com.android.phone.extra.slot", 0); //0 or 1 according to sim.......
if (phoneAccountHandleList != null && phoneAccountHandleList.size() > 0)
intent.putExtra("android.telecom.extra.PHONE_ACCOUNT_HANDLE", phoneAccountHandleList.get(0));
} else { //0 for sim1
intent.putExtra("com.android.phone.extra.slot", 1); //0 or 1 according to sim.......
if (phoneAccountHandleList != null && phoneAccountHandleList.size() > 1)
intent.putExtra("android.telecom.extra.PHONE_ACCOUNT_HANDLE", phoneAccountHandleList.get(1));
}
startActivity(intent);

关于android - 如何在所有双卡 android 手机上直接调用指定 sim 卡的号码而不调用系统 sim 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com