Android实现SIM卡2拨打,从第二个SIM卡打电话(Call from second sim)

我有一个双卡Android手机。 我使用此代码来拨打电话:

private void callBack(String phone, Context context) {

Intent callIntent = new Intent(Intent.ACTION_CALL)

.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

callIntent.setData(Uri.parse("tel:" + phone));

context.startActivity(callIntent);

}

它的正常工作。 但它总是让来自SIM1通话(最好SIM)。 我如何从SIM2电话? 有没有一种方法来处理双卡手机?

Answer 1:

这似乎是一个大范围的双SIM卡的设备如摩托罗拉,Micromax的,HTC,三星的工作

intent.putExtra("com.android.phone.extra.slot", 0); //For sim 1

要么

intent.putExtra("com.android.phone.extra.slot", 1); //For sim 2

如果不行试试这个,在三星小号二重奏这工作得很好。

intent.putExtra("simSlot", 0); //For sim 1

要么

intent.putExtra("simSlot", 1); //For sim 2

不幸的是,这些事情,我们必须进入命中/试用模式,因为没有正式的文件是有双卡的支持。

Answer 2:

final Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumberOrUssd));

final int simSlotIndex = 1; //Second sim slot

try {

final Method getSubIdMethod = SubscriptionManager.class.getDeclaredMethod("getSubId", int.class);

getSubIdMethod.setAccessible(true);

final long subIdForSlot = ((long[]) getSubIdMethod.invoke(SubscriptionManager.class, simSlotIndex))[0];

final ComponentName componentName = new ComponentName("com.android.phone", "com.android.services.telephony.TelephonyConnectionService");

final PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(componentName, String.valueOf(subIdForSlot));

intent.putExtra("android.telecom.extra.PHONE_ACCOUNT_HANDLE", phoneAccountHandle);

} catch (Exception e) {

e.printStackTrace();

}

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

在双卡华硕Fonepad 7的Android 5.0的工作

Answer 3:

Android不提供API来支持双SIM卡的设备。 Android的唯一支持默认SIM卡的SIM卡相关的API(通常SIM#1)。 这是硬件实现,以支持Android双SIM卡,因此设备制造商必须实现自己的API或自定义的源代码,以支持他们的硬件组件。 您可以联系到设备制造商的双卡支持SDK。

文章来源: Call from second sim

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值