gpt4 book ai didi

iphone - 在 iPhone 上打电话并将用户带回应用程序? (UIWebView 做的)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:34 26 4
gpt4 key购买 nike

我用这个代码打电话:

NSString *phoneNumber = [@"tel://" stringByAppendingString:mymobileNO.titleLabel.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

并且当通话结束时,它不会将用户带回应用程序。但是,如果我在 UIWebView 中显示一个网站并且该网站中有一个电话号码(即 UIWebView 识别它),并且如果我点击该电话号码链接调用电话,通话结束后我将被带回应用程序.

我的初步想法是,UIWebView 在内部做了一些事情,比如到电话应用程序的深层链接,然后在深层链接中使用另一个深层链接将用户带回应用程序。但我不确定。有没有办法实现这个功能?

谢谢!

最佳答案

您需要使用 telprompt URL,而不是 tel

所以:

NSString *phoneNumber = [@"telprompt://" stringByAppendingString:mymobileNO.titleLabel.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

这也会在调用号码前给用户一个确认框。

编辑:

This 问题涵盖了相同的问题。

编辑 2:

对于那些想知道此 URL 是否会导致 App Store 拒绝的人,答案通常是否定的。更大的风险是Apple会突然停止支持telprompt方案。正如 this article 所解释的,有一种稍微“更安全”的方式来实现 telpromptUIWebView (它在内部使用 telprompt ,即使你调用它使用 电话)。文章中的相关代码显示了如何使用已记录的 tel 方案仍然可以为您提供 telprompt 的效果:

+ (void)callWithString:(NSString *)phoneString {
[self callWithURL:[NSURL URLWithString:[NSString
stringWithFormat:@"tel:%@",phoneString]]];
}

+ (void)callWithURL:(NSURL *)url {
static UIWebView *webView = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
webView = [UIWebView new];
});
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}

(代码取 self 第二次编辑时的文章引用)

关于iphone - 在 iPhone 上打电话并将用户带回应用程序? (UIWebView 做的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12065498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com