我目前正在开发一个使用实时音频流的iOS应用程序,我们的用户要求在流式传输时自动阻止来电。我知道没有API可以做到这一点,所以我们解决它的方法是在UI上有一个按钮,它自动调用一个特定号码(特定于电信提供商),打开或关闭来电阻止来电。它只需打开tel:URL即可完成此操作。
这一切都运行良好,虽然它可能不是非常用户友好,因为它迫使用户退出应用程序,但我相信它是使用iOS API提供的工具的最优雅的解决方案。
但有一点需要注意,一些电信提供商没有一个短号码,人们可以打电话来打开或关闭此功能。他们使用具有特殊字符的长代码,例如#和*。不幸的是,iOS拒绝打开tel:带有这些字符的URL,大概是出于安全考虑。但是我想知道用户是否可以将这些号码放入联系人,然后让iOS直接调用这些联系人?
我知道如何直接从地址簿中检索电话号码,但这没用,因为我仍然会遇到不接受网址的问题。那么,有没有一种方法,比如说,tel:URL与联系人ID或类似的东西?
感谢阅读和/或回复。 :)
答案 0 :(得分:3)
您无法从应用中拨打#或*。这是Apple保护我们免受讨厌的人的计划。
引用Apple的文档:
防止用户恶意重定向电话或更改 电话应用程序支持的电话或帐户的行为 tel方案中的大多数但不是全部的特殊字符。 具体来说,如果URL包含*或#字符,则为Phone 应用程序不会尝试拨打相应的电话号码。
...转换为ASCII字符和其他技巧也不起作用(我试过)。