iphone - 检查是否可以拨打电话

时间:2010-11-03 10:28:05

标签: iphone call

我搜索了很多内容,发现不可能找到运营商的信号是否存在。但是有没有有效的API来查找我是否可以拨打电话?

2 个答案:

答案 0 :(得分:1)

我不知道有任何确定载波信号的方法。如果所有其他方法都失败了,可能会通过抓取屏幕截图并分析左上角来实现这一目标。那说......

你可能想深入研究CoreTelephony,因为那里可能有东西。 [CTCall callState]? (我对它说不够熟悉......)。

要查明是否可以使用电话网址(即tel:8005551212):

if ([[UIApplication sharedApplication: canOpenURL:telURL])
{
    // your code here
}

这至少可以帮助确定用户是否在具有手机功能的设备上。

使用openURL:将返回YES,即使在飞行模式下也是如此。

答案 1 :(得分:0)

我认为您无法检查操作员信号是否存在,但您可以检查是否可以实际拨打电话:

NSURL *phoneNumberURL = [NSURL URLWithString:@"tel://004412345"];
if([[UIApplication sharedApplication] openURL:phoneNumberURL] == YES) {
  ...
}