Phi*_*ton 27 iphone objective-c uiwebview
根据Apple的文档,为了从我的应用程序拨打电话,我需要实现以下协议:
HTML链接:
<a href="tel:1-408-555-5555">1-408-555-5555</a>
原生应用URL字符串:
tel:1-408-555-5555
但是,在完成从UIWebView内的HTML链接发起的电话呼叫后,我将重定向到我的应用程序.但是在完成从本机应用程序URL字符串进行的电话呼叫后,我的iphone会保留在iphone的常规电话应用程序中,如果我想返回我的应用程序,我必须手动执行此操作.
据我所知,通过阅读其他人所说的话,没有办法改变这种行为.
这是我的问题:
Ric*_*son 17
最简单的方法似乎是:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:0123456789"]];
您将收到提示,您的应用将在通话结束后重新获得焦点.
lem*_*nar 16
-[UIApplication openURL:]使用tel:URL 调用和单击指向同一URL的链接之间的行为确实不同UIWebView.
使用UIWebView而不是UILabel可能有一些缺点,但您不必实际显示UIWebView以获取其telURL处理行为.相反,只需tel在UIWebView的实例中加载URL请求,而不将其添加到视图层次结构中.
例如:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface PhoneCaller : NSObject
{
  @private
    UIWebView *webview;
}
- (void)callTelURL:(NSURL *)url;
@end
@implementation
- (id)init
{
    self = [super init];
    if (self)
    {
        webview = [[UIWebView alloc] init];
    }
    return self;
}
- (void)callTelURL:(NSURL *)url
{
    [webview loadRequest:[NSURLRequest requestWithURL:url]];
}
- (void)dealloc
{
    [webview release];
    [super dealloc];
}
@end
Eri*_*tto 10
请允许我简化一下.所有你需要的是这个小片段:
UIWebView *callWebview = [[UIWebView alloc] init];
NSURL *telURL = [NSURL URLWithString:@"tel:number-to-call"];
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
这我在这里.
*最近在iOS 5.0上成功测试过.
| 归档时间: | 
 | 
| 查看次数: | 8993 次 | 
| 最近记录: |