当没有SIM卡存在时尝试呼叫时应用程序退出

时间:2010-12-31 07:22:39

标签: iphone call

我使用tel:%@从我的应用程序调用。当设备中没有SIM卡时。应用程序存在,显示没有安装SIM卡。我不希望我的应用程序退出,如何处理。我在其中一个答案中找到了设置exit(0); in - (void)applicationWillResignActive:(UIApplication *)应用程序。但它不适合我。

2 个答案:

答案 0 :(得分:0)

尝试调用UIApplication canOpenURL:以确定打开网址是否有效。如果您使用的设备不支持拨打电话(例如iPad或iPod Touch),则会返回NO。如果没有安装SIM卡,它也可能会返回NO

答案 1 :(得分:0)

如果您不希望该应用退出,则必须使用UIWebView来调用您的呼叫。这可能就是一个例子:

UIWebView *callWebview = [[UIWebView alloc] init];

NSString *phoneNumber = [[NSString stringWithString:@"tel:123456789"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];        
NSURL *phoneURL = [NSURL URLWithString:phoneNumber];
[callWebview loadRequest:[NSURLRequest requestWithURL:phoneURL]];

我使用stringByAddingPercentEscapesUsingEncoding以防我包含一些我要解析的特殊字符。

如果您没有安装SIM卡,它将返回到调用的同一视图。