以打电话为例:
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来调用