0

我目前正在为商场开发 iPhone 应用程序。

其中一项功能是能够从应用程序内给商场租户打电话。我在用着

NSURL *url = [[NSURL alloc] initWithString:@"tel:1(480)555-5555"];
[[UIApplication sharedApplication] openURL:url];

它按我的预期工作,没有确认对话框,通话完成后仍保留在电话应用程序中。我宁愿它返回到我们的应用程序,但无论如何......

但是,应用程序中有另一个页面是 web 视图,并且有几个电话号码已被自动检测到。单击一个,确认对话框打开,用户返回到我们的应用程序。

我有点担心我想要的行为,并且似乎在 3.0 和 3.1 之间被删除,存在于 webview 中。理想情况下,我希望任何电话号码都能将用户返回到我们的应用程序,但我对他们都没有这样做。我只是希望它在我的整个应用程序中保持一致。

我应该使用其他电话吗?我可以更改在 web 视图中自动检测到的电话号码的行为吗?(除了禁用它)

4

1 回答 1

0

不幸的是,这并不容易做到。UIWebViewDelegate回调应该允许您拦截这些- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType点击,但它不允许。(注意:在模拟器中它似乎可以工作,但在设备上却没有......)我的猜测是,拦截这些水龙头的唯一方法是在窗口级别,这可能比实际工作更多值得。

于 2010-07-21T21:20:27.130 回答