如何让用户选择要使用SIM卡拨打的程序?

时间:2014-07-03 12:03:22

标签: android android-studio

写了一个小程序,当你点击通话次数时,一切都会在这个故事中很好,但是在另一部手机上进行了测试,当你刚离开该程序时,我记得他有双重sim.Tak如何在运行程序时将其放入标准SIM卡中是1还是2?或者给出一个选择,用户会选择SIM卡如何给他打电话? 试图使用getDeviceId(),写道“非静态metod ...”。 用于拨打电话的那部分代码:

final Intent calling1 = new Intent(Intent.ACTION_CALL);
    call1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            calling1.setData(Uri.parse("tel:5555"));
            startActivity(calling1);
        }
    });

在android 4.2.1上按下all应用程序,写错误,如何修复它,不要告诉?

1 个答案:

答案 0 :(得分:0)

这样做:

Intent i = new Intent(Intent.ACTION_CALL)
                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

// set active SIM
i.putExtra("simSlot", SimIndex); // <-------------------

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

startActivity(i);

其中SimIndex为0或1为first&amp;第二张SIM卡。

在某些设备上,SIM设置行将为:

// set active SIM
i.putExtra("com.android.phone.extra.slot", SimIndex)

您可能希望创建一个以。开头的fallthrough机制 先前的方式,如果失败,则尝试后者。

希望它有所帮助。