我搜索了很多内容,发现不可能找到运营商的信号是否存在。但是有没有有效的API来查找我是否可以拨打电话?
答案 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) {
...
}