【问题标题】:Is there a way to dial a number from a website on my smartphone, with one click? [closed]有没有办法从我的智能手机上的网站上一键拨号? [关闭]
【发布时间】:2020-11-08 08:13:09
【问题描述】:

我想我需要一个 Android 应用程序来解决这个问题:我想从 [a href="tel://0776547654"] 之类的网站拨打号码 这可行,但它只会将号码转移到拨号应用程序智能手机,它不拨打号码,这正是我需要的。如果这不可能,我需要一个应用程序,它为 ex 注册一个新协议。 'directcall://' 而不是 tel:// 并且应用程序会立即拨打该号码而不是仅仅转移它。真的有必要做一个应用来实现我想要的吗?

【问题讨论】:

    标签: android smartphone tel


    【解决方案1】:

    tel URI 不提供在没有用户交互的情况下自动拨打号码的可能性。参考RFC 3966

    Web 客户端和类似工具不得使用“tel”URI 来放置 未经该用户明确同意的电话 客户。在没有适当用户的情况下自动拨打电话 确认可能会带来许多风险...

    因此,是的,如果你想实现这样的行为,你需要实现自己的不符合标准的应用程序。

    【讨论】:

    • 谢谢,非常感谢您的宝贵时间。在我即将推出的应用程序中,我是否会在注册自己的新协议时遇到问题(directcall://[number])?或者我可以更轻松地订阅 [tel:] 或 [callto:] 来实现我的目标吗?
    • 我认为大多数浏览器都会使用标准拨号应用程序打开 tel:,我建议不要尝试更改此行为,因为它会破坏用户对所有 tel: URI 的期望,而不仅仅是您网站上的那些。因此,创建自己的前缀并将其添加到 AndroidManifest.xml 可能更容易,如下所述:stackoverflow.com/questions/2448213/…
    【解决方案2】:

    它只会将号码传输到智能手机的拨号应用程序

    URL 的行为取决于浏览器。有几十种适用于 Android 的浏览器,它们的行为可能会有所不同。

    它不拨号码

    这需要CALL_PHONE 权限。很少有浏览器开发人员会要求这样做,因为这是dangerous 权限。

    我需要一个应用程序,它为 ex 注册了一个新协议。 'directcall://' 而不是 tel:// 并且应用程序会立即拨打该号码而不是仅仅转移它

    当然欢迎您编写这样的应用程序,说服人们安装它,然后说服这些人也授予您的应用程序CALL_PHONE 权限。

    真的有必要做一个应用来实现我想要的吗?

    您可以尝试各种适用于 Android 的 Web 浏览器,看看是否提供某种直接调用选项。

    【讨论】:

    • 感谢您的关注。我可能会找到一个可以直接调用的浏览器,但如果我需要我的用户安装一些特定的东西,它也可能是我自己的应用程序。我还需要挂断电话并接受来电时的 URL 呼叫。所以我认为我最大的挑战将是play store 接受我的提交,非常简单,我不知道它是否有一个类别?........utilities .?
    【解决方案3】:
      Intent intent = new Intent(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:1234567890"));
                startActivity(intent);
    

    在清单中你需要

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

    如果您决定制作应用程序,您需要在应用程序中使用这些!

    并且您需要明确允许从移动应用信息中调用的权限或编写请求权限的代码。但建议不要使用直接调用,而是使用 ACTION_DAIL 会更安全,推荐使用!

    网站也一样,建议不要使用directcall://。因为它被认为是危险的。

    【讨论】:

    • 您好。 directcall:// 是我自己建议的名字,有什么问题吗?我认为你的意思是不安全,如果用户在拨号前没有机会看到号码,对吧?
    • 我的意思是如果你想使用直接调用,你肯定可以使用它。我给了你 android 和 web 的代码,你必须已经有了它,但它对用户来说并不安全,因为用户会期望当他点击通话按钮时,他应该用号码进入电话键盘而不是直接打电话。这被认为是糟糕的用户体验!希望你能明白我的意思!
    • 是的,是的,我理解你的意思,但可以理解的是,你不知道我的用户期望什么。他们想要直接呼叫,他们需要它。我的软件是一个 CRM 系统,他们每天拨打大约 100 个号码。你现在明白他们为什么想要它并且真的需要它了吗?我想知道你为什么要为我决定我的用户想要什么。
    • 哦,顺便说一句,谢谢你的代码,我没有它,我需要它。
    • 没问题!您可以为此投票,我们将不胜感激!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2021-10-16
    • 2014-11-05
    • 2021-12-21
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    相关资源
    最近更新 更多