4

我目前正在开发一个使用实时音频流的 iOS 应用程序,我们的用户要求在流式传输时自动阻止来电的功能。我知道没有 API 可以做到这一点,所以我们解决它的方法是在 UI 上设置一个按钮,该按钮会自动呼叫某个号码(特定于电信提供商),从而打开或关闭来电阻止功能。它只需打开一个 tel: URL 即可。

这一切都很好,虽然它可能不是非常用户友好,因为它迫使用户退出应用程序,但我相信它是使用 iOS API 提供的工具的最优雅的解决方案。

但有一个警告,一些电信提供商没有一个短号码可供人们拨打或关闭此功能。他们使用包含特殊字符的长代码,例如 # 和 *。不幸的是,iOS 拒绝打开带有这些字符的 tel: URL,大概是出于安全原因。但是我想知道用户是否可以将这些号码放入联系人中,然后让 iOS 直接呼叫这些联系人?

我知道如何直接从通讯录中检索电话号码,但这没有用,因为我仍然会遇到 URL 不被接受的问题。那么有没有一种方法可以让 tel: URL 带有联系人 ID 或类似的东西?

感谢您阅读和/或回复。:)

4

1 回答 1

4

您不能从应用程序拨打 # 或 *。这是 Apple 的计划,旨在保护我们免受讨厌的人的侵害。

引用 Apple 的文档:

为了防止用户恶意重定向电话或更改电话或帐户的行为,电话应用程序支持 tel 方案中的大多数(但不是全部)特殊字符。具体来说,如果 URL 包含 * 或 # 字符,电话应用程序不会尝试拨打相应的电话号码。

...并且转换为 ASCII 字符和其他技巧也不起作用(我试过)。

于 2012-09-24T21:04:42.433 回答