首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当弹出窗口打开以选择我的帐户时,Intent.ACTION_CALL无法工作

当弹出窗口打开以选择我的帐户时,Intent.ACTION_CALL无法工作
EN

Stack Overflow用户
提问于 2015-09-17 00:30:37
回答 2查看 2.3K关注 0票数 0

我正在实现一个Android应用程序,它将允许用户通过从我的应用程序中拨打一个号码并按下一个按钮来购买东西。在单SIM卡设备中它工作得很好,但在双SIM卡设备中,当我运行我的应用程序并单击“购买按钮”时,会自动打开一个弹出窗口,询问我要使用哪个SIM卡拨号(我不必为此操作编写代码,它会由我的设备自动完成)。此外,当我通常使用设备的默认手机应用程序呼叫朋友时,此弹出窗口会自动打开,询问我要使用哪个SIM卡拨号,并在选择SIM卡后开始呼叫),但在我的应用程序选择SIM卡后,它不起作用,它不会开始拨号。但它开始在单个sim设备中拨号。

我已经正确地添加了<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>,并且我的代码在单SIM卡设备上运行良好。

那么问题出在哪里呢?为什么它不能在双Sim设备上工作?

我的代码:

代码语言:javascript
运行
复制
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);  

        }
     });
EN

Stack Overflow用户

发布于 2015-09-17 01:41:23

您必须指定simcard才能启动意图活动。首先,通过以下链接检查手机是否为双SIM卡:https://stackoverflow.com/a/17499889/3743245

之后,尝试询问用户他/她将使用哪种simcard,并像这样传递该信息:

代码语言:javascript
运行
复制
intent.putExtra("com.android.phone.extra.slot", 0); //For sim 1

代码语言:javascript
运行
复制
intent.putExtra("com.android.phone.extra.slot", 1); //For sim 2

如果不起作用,试试这个:

代码语言:javascript
运行
复制
intent.putExtra("simSlot", 0); //For sim 1

代码语言:javascript
运行
复制
intent.putExtra("simSlot", 1); //For sim 2
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32614035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档