写了一个小程序,当你点击通话次数时,一切都会在这个故事中很好,但是在另一部手机上进行了测试,当你刚离开该程序时,我记得他有双重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应用程序,写错误,如何修复它,不要告诉?
答案 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机制 先前的方式,如果失败,则尝试后者。
希望它有所帮助。