Загрузка приложения после телефонного звонка

#ios #iphone #nsurl

#iOS #iPhone #nsurl

Вопрос:

В настоящее время я пытаюсь создать приложение быстрого набора для различных номеров, которые может ввести пользователь. Я загружаю телефон вот так после нажатия UITableViewCell

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

это загружает программу дозвона телефона и набирает номер.. Я задаюсь вопросом, возможно ли после завершения телефонного звонка загрузить приложение с того места, откуда оно вышло для телефонного звонка .. или если есть лучший способ сделать то, что я пытаюсь сделать?

Ответ №1:

На самом деле вы должны иметь в виду, что приложение может быть выгружено в любой момент. Но когда ваше приложение выгружается, ваш делегат приложения получает некоторые сообщения (applicationWillTerminate, applicationWillResignActive, applicationDidEnterBackground). Вы должны прочитать этот пост. В этих методах вы должны сохранить некоторые параметры вашего приложения (текущую страницу, настройки и т.д.) И использовать их при запуске вашего приложения или при повторном запуске.

Если вы хотите запустить свое приложение вручную, вам не следует этого делать. Пользователь будет удивлен таким поведением.

Комментарии:

1. хорошо, спасибо за ссылку. сейчас мы его прочитаем. Что касается вашей последней строки, я не хочу запускать ее вручную, я хочу вернуть их обратно в свое приложение после телефонного звонка, сделанного нажатием tableviewcell, который запускает телефонный звонок из моего приложения.

2. Насколько я знаю, у вас нет законной возможности вернуться к своему приложению. Вы не должны этого делать.

Ответ №2:

Я очень долго искал и получил этот код с сайта 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];
}


}
  

Ответ №3:

Начиная с iOS 5.0, мы возвращаемся к приложению после завершения вызова. Найдите приведенный ниже код.

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