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

新手上路,请多包涵

我不需要拨打电话号码,我只需要打开拨号器并显示已显示的电话号码。我应该使用什么 Intent 来实现这一点?

原文由 Nik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 510
2 个回答

有两种方法来实现它。

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。

android:autoLink=“phone” android:linksClickable=“true” 一个 textView 属性

您不需要使用意图或通过这种方式获得许可。

原文由 AAnkit 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 kotlin 的人的辅助函数:

 fun openDialPad(context: Context, phoneNum: String) {
    val intent = Intent(Intent.ACTION_DIAL)
    intent.setData(Uri.parse("tel:$phoneNum"))
    context.startActivity(intent)
}

原文由 Ali Nawaz 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题