过去几天我一直在寻找这个,我开始知道:
“开箱即用的Android不支持双SIM卡.这是制造商的自定义修改,并且没有公共API来控制它.”
下面的链接提供了一个解决方案,但它不能在我的手机三星galaxy S4 Mini上工作.
Call from second sim
我也发现了这个链接,我发现它非常有用.
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 1andcallintent.putExtra("com.androID.phone.extra.slot", 1); //For sim 2
我不确定这一点,但我有一个问题.
在SIM卡管理器部分下的设置中,当我必须为语音呼叫选择首选SIM卡时,我有四个选项:
>当前网络
>总是问
> SIM 1
> SIM 2
当我选择“始终询问”选项时,在拨打电话之前,我总是被要求选择一个显示在对话框中的SIM卡来拨打电话.我的问题是我可以在我的应用程序中利用这个东西,我按下按钮拨打电话,但它总是问我,当我选择Ask Always选项时它的方式相同.
对不起,我把这个问题写得很冗长,但我觉得它需要它.请提前帮助和非常感谢.
编辑:
每次按下任何按钮(类似于“设置”中的“始终询问”选项)时,如何实现此目的:
解决方法:
码:
private final static String simslotname[] = { "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"};Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "any number")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("com.androID.phone.force.slot", true); intent.putExtra("Cdma_Supp", true); //Add all slots here, according to device.. (different device require different key so put all together) for (String s : simslotname) intent.putExtra(s, 0); //0 or 1 according to sim....... //works only for API >= 21 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LolliPOP) intent.putExtra("androID.telecom.extra.PHONE_ACCOUNT_HANDLE", (Parcelable) " here You have to get phone account handle List by using telecom manger for both sims:- using this method getCallCapablePhoneAccounts()"); context.startActivity(intent);
总结 以上是内存溢出为你收集整理的android – 在双SIM卡设备中使用指定的SIM拨打电话全部内容,希望文章能够帮你解决android – 在双SIM卡设备中使用指定的SIM拨打电话所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)