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