2011-05-11 46 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"]]; 
相關問題