我正在尝试使用拨号器意图获取结果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_DIAL
但startActivity(intent)
。希望能帮助到你。

智慧大石
TA贡献1946条经验 获得超3个赞
为什么我得到的是 RESULT_CANCELED 而不是 RESULT_OK。
ACTION_DIAL
不返回结果。如果您阅读的文档ACTION_DIAL
,您将看到“输出:无”。因此,您通常会得到RESULT_CANCELED
. 只有设计用于使用的活动startActivityForResult()
才会返回结果代码。
添加回答
举报
0/150
提交
取消