从iPhone应用程序拨打电话

时间:2012-03-16 04:48:13

标签: iphone ios call

  

可能重复:
  make a call in iphone from my application

我想通过iPhone应用程序拨打给定号码的电话。你能建议一个最好解释它的好教程或告诉我这个过程吗?

5 个答案:

答案 0 :(得分:9)

您可以尝试:

NSURL *phoneNumberURL = [NSURL URLWithString:@"tel:80001212"];
[[UIApplication sharedApplication] openURL:phoneNumberURL];

答案 1 :(得分:6)

NSString* phoneNumber=TextFiled Name
    NSString *number = [NSString stringWithFormat:@"%@",phoneNumber];
    NSURL* callUrl=[NSURL URLWithString:[NSString   stringWithFormat:@"tel:%@",number]];

        //check  Call Function available only in iphone
    if([[UIApplication sharedApplication] canOpenURL:callUrl])
    {
        [[UIApplication sharedApplication] openURL:callUrl];
    }
    else
    {
        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"ALERT" message:@"This function is only available on the iPhone"  delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
                          [alert show];
                         [alert release];
                    }    
    }

答案 2 :(得分:1)

试试这个: -

    NSString *phoneNumber = @"15555551212";
    NSString *dtmfAfterPickup = @"1234";

    NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];

答案 3 :(得分:0)

通过“网址方案”机制在iOS中管理从另一个应用程序中打开应用程序。如果应用程序定义了url方案,并且此方案是公共的,则可以使用它来运行该应用程序。 基本规则是首先检查您的设备是否支持该方案(例如,由于未安装手机应用程序,您无法在iPad上拨打电话),如果答案是肯定的,请将其命名为:


if([[UIApplication sharedApplication] canOpenURL:myURL]) {
  [[UIApplication sharedApplication] openURL:myURL];
} else {
  // do something else, e.g. inform the user that he/she cannot open the app
}

此检查对于某些方案很重要,例如:手机之一,系统检查的是网址是否形成良好。例如:不支持数字之间的电话号码空间。

此处描述了最常见的Apple URL方案: http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html#//apple_ref/doc/uid/TP40007893-SW1 特别是,电话网址方案在这里: http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html#//apple_ref/doc/uid/TP40007893-SW1

最后,有一个名为handleOpenURL的网站试图收集所有应用程序网址方案。如果您定义了一个公开网址方案的应用,并希望将其公开,请不要犹豫,将其发布到此网站。

答案 4 :(得分:0)

有两种方法可以实现: -

1)[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“tel:// 9912345678”]];

2)您可以使用UITextView并启用手机检测功能。之后,电话号码看起来像超链接。使用以下代码。

mytextview.text = @"9943586256";
mytextview.dataDetectorTypes = UIDataDetectorTypePhoneNumber;
mytextview.editable=NO;

如果您想在自定义的tableview单元格中显示电话号码,则会很有帮助。

由于某些项目的要求,我个人喜欢第二个。当我在UITextView中给出电话号码时,按此按钮将开始呼叫。