java - 如何在对话期间以编程方式将号码输入到android中的电话应用程序屏幕

标签 java android android-intent android-activity

我想在我的 android 程序通话期间以编程方式将号码输入到 android 手机的电话应用程序中。 (像这样的操作 - 1. 打开拨号键盘和 2. 输入号码)。

例如 - 当您调用电话号码时,这个电话号码有分机号码可以调用到目的地。例如 - (ph no - +6581329445 and ext no - 303) 所以,首先你需要调用电话号码(例如 - +6581329445 )然后你需要在选择后按所需的分机号(例如 - 303)另一边(被叫方)拿起电话。

我想以编程方式执行此步骤。现在,我可以从我的程序中调用电话号码(例如 - +6581329445),然后被叫方将选择电话,之后我需要从我的程序中输入目标分机号码(例如 - 303)以进行调用目标分机。(在被叫方(例如 - +6581329445)接听电话期间,可能会在电话应用程序接听屏幕的键盘中调用目标分机号码(例如 - 303)。

用例图解。

调用酒店电话号码(例如 - +6581329445)

enter image description here

输入房间分机号(例如 - 303)

enter image description here

我想从我的程序中执行第 2 步。是否可以?如果可能的话,请给我建议以及如何在 android 编程中编写此步骤。非常感谢。

最佳答案

如您所知,您可以让 Android 为您拨一个号码:

   Uri number = Uri.parse("tel:" + numberString);
   Intent dial = new Intent(Intent.ACTION_CALL, number);
   startActivity(dial);

但在普通 Android 上,您无法在调用号码后与拨号器应用交互


但是,您可以告诉拨号器在一些号码之间设置一个暂停:

  • 暂停 2 秒,
  • 或无限期等待。

要在号码之间输入 2 秒的停顿,请在拨号字符串中使用“,”:

  • “6581329445,303”(感谢@323go)

要无限期等待,请使用“;”在拨号字符串中:

  • "6581329445;123"

这在某些情况下可能更有用 - 这取决于自动应答服务需要多长时间才能让您输入分机号。

无限期暂停由拨号器通过在拨号器应用程序中弹出一个对话框来处理,允许用户发送额外的号码。

关于java - 如何在对话期间以编程方式将号码输入到android中的电话应用程序屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520263/

相关文章:

android - Intent : URI not working in Android browser

android - 是否允许有一个 onActivityResult 链?

java - AWS/Java : How to Get EC2 Instances From AWS Java API

iphone - 制作跨所有操作系统的电话应用程序

android - Build_HttpBody()//httpPost.setEntity() 的问题 - Android

java - 从应用程序以全屏模式启动 Android 浏览器

java - 神经网络输入顺序,重要吗?

java - 使代码在 x 以 y 开头时执行

java - 将列表编码为 XML 是可行的 - 但如何解码呢?

android - 使 loadingDialog 在 twitter4J 页面完成时消失