我正在实现一个Android应用程序,它将允许用户通过从我的应用程序中拨打一个号码并按下一个按钮来购买东西。在单SIM卡设备中它工作得很好,但在双SIM卡设备中,当我运行我的应用程序并单击“购买按钮”时,会自动打开一个弹出窗口,询问我要使用哪个SIM卡拨号(我不必为此操作编写代码,它会由我的设备自动完成)。此外,当我通常使用设备的默认手机应用程序呼叫朋友时,此弹出窗口会自动打开,询问我要使用哪个SIM卡拨号,并在选择SIM卡后开始呼叫),但在我的应用程序选择SIM卡后,它不起作用,它不会开始拨号。但它开始在单个sim设备中拨号。
我已经正确地添加了<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>,并且我的代码在单SIM卡设备上运行良好。
那么问题出在哪里呢?为什么它不能在双Sim设备上工作?
我的代码:
Button button1maina = (Button) findViewById(R.id.Button03);
button1maina.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + "*566%23"));;
startActivity(callIntent);
}
});发布于 2015-09-17 01:41:23
您必须指定simcard才能启动意图活动。首先,通过以下链接检查手机是否为双SIM卡:https://stackoverflow.com/a/17499889/3743245
之后,尝试询问用户他/她将使用哪种simcard,并像这样传递该信息:
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 2https://stackoverflow.com/questions/32614035
复制相似问题