iOS app开发:如何解决拨打电话的特殊字符(如*和#)?用于呼叫转移

发布于 2022-09-02 00:13:20 字数 825 浏览 38 评论 0

普通的拨打电话如下:
NSString *strForCallHZ = @"tel:10086";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:strForCallHZ]];

但是我要设置“取消呼叫转移”,需要拨打“##21#”。

第一次尝试:直接类比于普通电话。
NSString *strForCallHZ = @"tel:##21#";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:strForCallHZ]];
结果:报错:
LaunchServices: ERROR: There is no registered handler for URL scheme (null)

第二次尝试:加一个编码过程。
NSString *strForCallHZ = @"tel:##21#";
strForCallHZ = [strForCallHZ stringByAddingPercentEscapesUsingEncoding:

              NSUTF8StringEncoding];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:strForCallHZ]];
结果:报错:
LaunchServices: ERROR: There is no registered handler for URL scheme (null)

请问:应该如何解决这种特殊字符的电话拨打问题呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

比忠 2022-09-09 00:13:20
NSURL *url = [NSURL URLWithString:@"tel:%23%2321%23"];

试试?

£噩梦荏苒 2022-09-09 00:13:20

我现在也在解决这个问题,楼主你解决了嘛

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文