为了账号安全,请及时绑定邮箱和手机立即绑定

获取拨号器意图的 RESULT_CANCELED

获取拨号器意图的 RESULT_CANCELED

斯蒂芬大帝 2023-10-13 16:37:42
我正在尝试使用拨号器意图获取结果startActivityForResult()下面是我的拨号器意图代码。        button.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Intent intent = new Intent(Intent.ACTION_DIAL);            intent.setData(Uri.parse("tel:123456789"));            startActivityForResult(intent, 1234);           }        });        @Override        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {          super.onActivityResult(requestCode, resultCode, data);          if(requestCode == 1234){           if (resultCode == Activity.RESULT_OK){             Toast.makeText(getApplicationContext(), "result ok", Toast.LENGTH_LONG).show();           }else if (resultCode == Activity.RESULT_CANCELED){               Toast.makeText(getApplicationContext(), "Result Cancelled", Toast.LENGTH_LONG).show();           }          }       }每当我返回活动时,就会触发结果取消 Toast。
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

来自文档:

ACTION_DIAL

public static final String ACTION_DIAL

你只有ACTION. 如果您想从应用程序中拨打电话号码,那么您只需将这些代码行放入该onClick()方法中即可获得您想要的内容:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:123456789"));
startActivity(intent); // no need to use startActivityResult(intent,1234)

这里,如果ACTION_DIAL输入什么都没有,则启动一个空的拨号器;elsegetData()是要拨打的电话号码的 URI 或tel: <yourURI>显式电话号码的 URI。此外,没有RESULT_OK或的“输出” RESULT_CANCELED,因为,startActivityResult()没有任何意义,ACTION_DIALstartActivity(intent)。希望能帮助到你。


查看完整回答
反对 回复 2023-10-13
?
智慧大石

TA贡献1946条经验 获得超3个赞

为什么我得到的是 RESULT_CANCELED 而不是 RESULT_OK。

ACTION_DIAL不返回结果。如果您阅读的文档ACTION_DIAL,您将看到“输出:无”。因此,您通常会得到RESULT_CANCELED. 只有设计用于使用的活动startActivityForResult()才会返回结果代码。


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信