iPhone iOS 4: как перейти от фона к переднему плану в объективе - PullRequest
0 голосов
/ 01 августа 2010

Я пытаюсь заставить мое приложение, которое находится в фоновом режиме, выйти на передний план после отключения вызова.Вот код:

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:0123456789"]]){
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:0123456789"]];
} else {
  // Could not make call
}

CTCallCenter *c=[[CTCallCenter alloc] init];
c.callEventHandler=^(CTCall* call){
  if(call.callState == CTCallStateDisconnected) {
    // code to make app return to the foreground
    // I have tried calling applicationWillEnterForeground, but it didn't work
  }
}

Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Apple не позволит вам «выйти на передний план», но вместо этого вы можете использовать локальное уведомление.

Так что для того, что вы хотите сделать, вам нужно:

  1. После запуска URL-адреса набора вы получите «applicationDidEnterBackground:», когда ваше приложение будет перемещено в фоновый режим. Вам нужно будет запустить фоновое задание, иначе вы не получите изменение состояния вызова.

  2. Когда вы получите изменение состояния вызова, создайте локальное уведомление. Если пользователь хочет «просмотреть» ваше приложение, то ваше приложение выйдет на передний план.

Существует одна проблема с вышеизложенным: если телефонный звонок дольше 10 минут, то фоновая задача будет прервана, вы не получите изменения состояния вызова.

1 голос
/ 01 августа 2010

Я вполне уверен, что вы не можете сделать это простым звонком. Может быть, регистрация обработчика URL моего приложения: // и использование openURL в блоке завершения может сработать, но это выглядит довольно странно.

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