【问题标题】:Android's Intent for ACTION_CALL just dialsAndroid 的 ACTION_CALL 意图只是拨号
【发布时间】:2014-02-08 01:59:38
【问题描述】:

正如标题所说,我已经测试了很多次,在几个设备上没有任何变化,但客户仍然提到它只是拨号,他们坐在拨号器应用程序中,屏幕上显示数字,但他们必须按'呼叫'按钮来实现它。我相信很少有型号是三星的,它从 2.3.x 到 4.0.x。

为什么会这样??这让我发疯,而且我什至不使用 ACTION_DIAL 意图操作。

代码如下:

private void call(String phoneNumber) {
    Intent call = new Intent(Intent.ACTION_CALL);
    call.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    call.setData(Uri.parse("tel:" + phoneNumber));
    context.startActivity(call);
}

权限在那里,电话号码有效,因为它按预期显示在拨号屏幕中。

提前致谢。

【问题讨论】:

  • 我建议尝试提出一个确切的设备型号(最好使用型号名称,而不仅仅是像“Galaxy S4”这样的营销术语)。
  • 另外请注意,用户可能需要点击某些东西来拨打电话,以便在不同的拨号选项之间进行选择。例如,我的 Nexus 4 设置了两个 VOIP 选项和标准移动电话,我必须选择使用哪一个来拨打电话。大多数用户不会有这个。
  • 谢谢,我已经查找了模型和这种可能的行为,但 Google 上没有显示任何内容。我感觉这与 Twilio 的错误实现有关(可能正在进行的 VoIP 呼叫)并且系统知道如果 Twilio 通知了这一点。导致拨号而不是呼叫。这是我的假设。

标签: android android-intent


【解决方案1】:

据我所知,这是预期的行为。在我看来,这是一项安全功能,因此应用程序不会自动拨打客户需要支付额外费用的号码。这样,即使应用程序有权启动拨号程序,他仍然可以改变主意。

到目前为止,我从未见过自动拨号的电话。

【讨论】:

  • “据我所知,这是预期的行为”——嗯,不。 ACTION_DIAL 会有这种行为。 ACTION_CALL 应该拨打电话,这就是权限存在的原因。 “到目前为止,我从未见过自动拨号的电话”——你试过哪些?刚才在我试用的第一台设备 Nexus 4 上运行良好。
  • 我的错!我刚刚检查了代码,确实是 ACTION_DIAL 具有这种行为。很抱歉造成混乱。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多