ios - 用于短信和通话的 openUrl 替代方案

标签 ios sms phone-call openurl

这是打开拨号器打电话或发信息的唯一方法吗。

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:+%@",phoneNumber]]];

如果是的话。那么这个支持将从 ios3 到 ios6(测试版)。

如果没有。那么任何人都可以提供一些示例代码。(如果任何私有(private) api 可以做到这一点,请提及)

如果发送短信和调用电话有单独的功能,也请告诉我。

在带有 ios 4.2.6 的 ipad 1 中,以下代码不起作用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"sms:9190432097420"]]];[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:9190432097420"]]]

问题出在哪里

最佳答案

根据 UIApplication's Class ReferenceopenUrl: 方法在 iOS 2.0 及更高版本中可用。因此,您应该可以安全地使用该方法。

关于您的示例,如果您首先检查是否有可以处理提供的 url 的应用程序,它会“更安全”。例如:

NSURL *url = [NSURL URLWithString:@"tel:9190432097420"];

if([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}
else {
    NSLog(@"No application for url '%@'", url);
}

您是在实际设备上还是在模拟器中进行测试?据我所知,模拟器不支持这一点。

关于ios - 用于短信和通话的 openUrl 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140740/

相关文章:

objective-c - 强制 CLGeocoder block 代码同步运行

java - 我想在java中使用gsm调制解调器通过串行端口发送和接收短信

java - Android点击按钮自动发送短信

ios - 我想在 Xcode 中使用 telprompt 调用电话号码 "#51234"

Twilio:一次调用多个电话号码并连接到第一个接听的电话号码

ios - 如何在iPhone中调用以*开头的电话?

iphone - iOS 中分层应用程序的示例应用程序/教程

ios - 通过使用查询而不是重复观察单个事件来加快为我的社交网络应用获取帖子

ios - swift:推迟非可选对象初始化

java - 捕获服务器响应代码