UIApplication запускает приложение телефона и возвращает пользователя не на тот экран - PullRequest
0 голосов
/ 14 февраля 2009

Приложение для моего iPhone инициирует телефонный звонок с:

NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", @"11111111"]];
[[UIApplication sharedApplication] openURL:phoneURL];

Это от UIView внутри UINavigationController. Это не корень UIView однако.

Когда приложение телефона завершает вызов и возвращает управление моему приложению, экран, к которому возвращается пользователь, не является экраном, оставленным пользователем. Это корневой экран UINavigationController.

Как мне заставить [UIApplication sharedApplication] вернуть управление на экране, который покинул пользователь?

1 Ответ

2 голосов
/ 15 февраля 2009

Вы не.

Если вы вставите соответствующий код отладки, я думаю, вы обнаружите, что ваше приложение на самом деле закрывается, когда выполняется вызов, и снова открывается после его завершения. Это по замыслу; во время разговора ресурсы ограничены, и Apple не хочет выбирать между прекращением вызова и уничтожением вашего приложения. Итак, что вам нужно сделать, это сохранить состояние приложения перед выходом (либо на ходу, либо в applicationWillTerminate :), а затем восстановить его в applicationDidFinishLaunching :. К счастью, вам все равно нужно это делать - приложения для iPhone должны всегда восстанавливать их прежнее состояние при повторном запуске - так что это на самом деле не лишняя работа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...