iOS三种调系统应用的方式

/ 0评 / 0

以打电话为例:

1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];
    //            NSLog(@"str======%@",str);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

2,这种方法,打完电话后还会回到原来的程序,也会弹出提示,推荐这种

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];
    UIWebView * callWebview = [[UIWebView alloc] init];
    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
    [self.view addSubview:callWebview];
    [callWebview release];
    [str release];

3,这种方法也会回去到原来的程序里(注意这里的telprompt),也会弹出提示

NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"186xxxx6979"];
    //            NSLog(@"str======%@",str);
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]

顺便测试了一下,结果不太一样哦~
系统:iOS9.2.1
1、[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:186xxxx123"]];
测试结果:不弹出提示框,直接跳转到通讯录拨打电话,通话结束返回到app。

2、UIWebView * callWebview = [[UIWebView alloc] init]
[callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel:186xxxx123"]]];
[self.view addSubview:callWebview];
测试结果:弹出提示框,点击“呼叫”跳转到通讯录拨打电话,通话结束返回到app。

3、[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:186xxxx123"]];
测试结果(与2相同):弹出提示框,点击“呼叫”跳转到通讯录拨打电话,通话结束返回到app。

其实无论是打电话 还是调用系统的其他服务,很多都可以使用openUrl来调用

评论已关闭。