从应用程序打开电话 (iOS)
Open telephone from the application (iOS)
有人可以告诉我如何通过点击按钮打开电话吗?我已经将它用于 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]]]];
}
看看 this SO 问题。
您可以使用
拨打phone电话
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://0123456789"]];
您必须提供一个 phone 号码。如果没有指定 phone 数字:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://"]];
什么都不会发生。
URL 方案的问题是,您目前无法打开 telephone 应用程序。只能发起通话。
试试这个:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", @"your-phone-number"]]];
有人可以告诉我如何通过点击按钮打开电话吗?我已经将它用于 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]]]];
}
看看 this SO 问题。
您可以使用
拨打phone电话[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://0123456789"]];
您必须提供一个 phone 号码。如果没有指定 phone 数字:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://"]];
什么都不会发生。
URL 方案的问题是,您目前无法打开 telephone 应用程序。只能发起通话。
试试这个:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", @"your-phone-number"]]];