通过电话加载应用程序

时间:2011-05-11 09:13:32

标签: ios iphone nsurl

我目前正在尝试为用户可能输入的各种号码制作快速拨号应用。点击UITableViewCell

后,我正在加载手机
- (IBAction)Dialer:(id)sender{
    NSURL *url = [ [ NSURL alloc ] initWithString: @"tel:09-410-7078" ];
    [[UIApplication sharedApplication] openURL:url];
}

加载电话拨号器并拨打电话号码..我想知道电话通话结束后是否有可能从电话呼叫退出的地方加载应用程序..或者如果有更好的方式做我想做的事情?

3 个答案:

答案 0 :(得分:0)

实际上你应该记住,应用程序可以随时卸载。但是当您的应用程序被卸载时,您的app委托会收到一些消息( applicationWillTerminate applicationWillResignActive applicationDidEnterBackground )。你应该阅读this post。在这些方法中,您应该保存应用程序的一些参数(当前页面,设置等),并在应用程序启动或再次激活时使用它们。

如果您想手动启动应用程序,则不应该这样做。用户会对这种行为感到惊讶。

答案 1 :(得分:0)

我搜索了很长时间,从Apple网站获得了这个代码,它完美无缺:

-(IBAction) dialNumber:(id)sender{

NSString *aPhoneNo = [@"tel://" stringByAppendingString:[itsPhoneNoArray objectAtIndex:[sender tag]]] ; NSURL *url= [NSURL URLWithString:aPhoneNo];

NSString *osVersion = [[UIDevice currentDevice] systemVersion];

if ([osVersion floatValue] >= 3.1) { 
UIWebView *webview = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; 
[webview loadRequest:[NSURLRequest requestWithURL:url]]; 
webview.hidden = YES; 
// Assume we are in a view controller and have access to self.view 
[self.view addSubview:webview]; 
[webview release]; 
} else { 
// On 3.0 and below, dial as usual 
[[UIApplication sharedApplication] openURL: url];
}


}

答案 2 :(得分:0)

从iOS 5.0起,我们会在通话结束后返回应用。找到以下代码。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:18004912200"]];