2011-05-11 48 views
0

我目前正在尝试为用户输入的各种号码设置快速拨号应用程序。我点击一个UITableViewCell打电话后加载应用程序

- (IBAction)Dialer:(id)sender{ 
    NSURL *url = [ [ NSURL alloc ] initWithString: @"tel:09-410-7078" ]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 

加载了电话拨号器拨打该号码..我woundering如果手机通话结束后,是它可以从加载应用程序后装入手机中的所有像这样在哪里退出的电话..或者如果有更好的方式来做我想做的事情?

回答

0

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

如果你想手动启动你的应用程序,你不应该这样做。用户会对此类行为感到惊讶。

+0

好的谢谢你的链接。现在会给它一个阅读。 关于你的最后一行,我不想手动启动它,我想通过按下一个tableviewcell打开电话,然后在我的应用程序中启动电话,然后将它们带回我的应用程序。 – HurkNburkS 2011-05-11 09:35:37

+0

感谢您的链接,它帮助我理解了应用程序的生命周期... – HurkNburkS 2011-05-11 09:44:01

+0

据我所知,您没有法律能力回到您的应用程序。你不应该这样做。 – 2011-05-11 10:01:29

0

我搜索了很长一段时间,并得到了苹果公司网站上的这个代码,它完美的作品:

-(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]; 
} 


} 
0

从安装iOS 5.0开始,我们在通话结束后返回到应用程序。找到下面的代码。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:18004912200"]]; 
相关问题