ios - 从应用程序打开电话 (iOS)

标签 ios objective-c cocos2d-iphone

有人可以告诉我如何通过单击按钮打开电话吗?我已经用它来进行 Safari 浏览并且它有效

  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];

最佳答案

您所需要的是:

NSString *phoneNumber = @"4167371111";

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]])
{    
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"tel://" stringByAppendingString:[phoneNumber stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]];
}

如果您想做一些更高级的事情,例如查看用户是否调用了电话,您可以使用 CTCallCenter:

#import <CoreTelephony/CTCallCenter.h>
#import <CoreTelephony/CTCall.h>

//Create this property somewhere
@property (strong, nonatomic) CTCallCenter *callCenter;

NSString *phoneNumber = @"4167371111";

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]])
{
    self.callCenter = [[CTCallCenter alloc] init];
    [self.callCenter setCallEventHandler: ^(CTCall* call)
     {
         if ([call.callState isEqualToString: CTCallStateConnected]) {
             NSLog(@"Connected");
         } else if ([call.callState isEqualToString: CTCallStateDialing]) {
             NSLog(@"Dialing");
         } else if ([call.callState isEqualToString: CTCallStateDisconnected]) {
             NSLog(@"Disconnected");
         } else if ([call.callState isEqualToString: CTCallStateIncoming]) {
             NSLog(@"Incoming");
         }
     }];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"tel://" stringByAppendingString:[phoneNumber stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]];
}

关于ios - 从应用程序打开电话 (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32209342/

相关文章:

ios - 无法将我的 9.0.1 iPhone 与 Xcode 一起使用

objective-c - 如何找出我的应用程序变慢的原因?

ios - UIScrollview 宽度与 iPhone 大小不相等

ios - 编辑自定义 UITextField 后应用程序卡住

iphone - 如何在 iPod touch 和 iphone 中测试我自己的应用程序?

ios - 如何检查url是图片还是视频?

iphone - 每次启动应用程序时播放启动画面(支持多任务)

ios - iOS swift 中的 scrollViewDidEndDecelerating 问题?

iphone - 平台上的怪物/敌人(如 Doodlejump)Cocos2d

ios - 在 cocos2d 中使用参数初始化场景