我如何让拨号器打开显示电话号码?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (77)

我不需要拨打电话号码,我只需要拨号器打开已显示的电话号码即可。Intent应该用什么来实现这个目标?

提问于
用户回答回答于

两种方式来实现它。

1)必须通过代码启动拨号程序,而无需用户交互。

你需要Action_Dial

使用下面的代码,它将打开指定编号的拨号程序

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 

'tel:'前缀是必需的,否则会引发以下异常: java.lang.IllegalStateException:无法执行活动的方法。

Action_Dial不需要任何权限。

如果您想在没有用户交互的情况下直接发起呼叫,则可以使用操作Intent.ACTION_CALL。在这种情况下,您必须在AndroidManifest.xml中添加以下权限:

<uses-permission android:name="android.permission.CALL_PHONE" />

2)让用户点击Phone_Number字符串并开始呼叫。

android:autoLink="phone" 

你需要在下面的属性中使用TextView。

用户回答回答于

如果你有一个TextView你正在显示电话号码,那么你根本不需要处理意图,你可以使用XML属性android:autoLink="phone",操作系统将自动启动一个ACTION_DIAL意图。

扫码关注云+社区