iOS开发零散知识

iOS 唤起拨打电话,打电话功能

2017-05-06  本文已影响2981人  呆呆羞


iOS 唤起拨打电话,打电话功能

方法一

1.这种方法,网上很多说法是,拨打完,电话。回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示
但本人在iOS 10.3测试是,有 提示框的。也会回到原来的应用。其他版本系统没有测试过。
唤起提示框,很略慢。

    NSString *telephoneNumber=@"拨打的号码";
    NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",telephoneNumber];
    UIApplication *application = [UIApplication sharedApplication];
    NSURL *URL = [NSURL URLWithString:str];
    [application openURL:URL];

方法二

这种方法,打完电话后还会回到原来的程序,也会弹出提示
但本人在iOS 10.3测试,唤起提示框,很略慢。

  NSString *telephoneNumber=@"拨打的号码";
    NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",telephoneNumber];
    UIWebView * callWebview = [[UIWebView alloc] init];
    [callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]]];
    [self.view addSubview:callWebview];
    [callWebview release];
    [str release];

方法三

这种方法也会回去到原来的程序里(注意这里的telprompt),也会弹出提示
但本人在iOS 10.3测试,唤起提示框,很略慢。

  NSString *telephoneNumber=@"拨打的号码";
    NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",telephoneNumber];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]

方法四

打完电话后还会回到原来的程序,也会弹出提示
前面的三种方法都会有⚠️,提示ios10后不再推荐使用。
官方,iOS 10之后推荐使用下面的方法
但本人在iOS 10.3测试,唤起提示框,比前面三种方法快。

     NSString *telephoneNumber=@"拨打的号码";
     NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",telephoneNumber];
    UIApplication *application = [UIApplication sharedApplication];
    NSURL *URL = [NSURL URLWithString:str];
    [application openURL:URL options:@{} completionHandler:^(BOOL success) {
        //OpenSuccess=选择 呼叫 为 1  选择 取消 为0
        NSLog(@"OpenSuccess=%d",success);
    
    }];


上一篇下一篇

猜你喜欢

热点阅读