2010-08-27 2 views
3

Возможно ли отправить приложение на задний план программно на iPhone?Отправка приложения в фоновом режиме на iphone

+0

Я до сих пор удивляюсь, как это не представляется возможным. Я хотел бы иметь приложения, которые позволяли мне переместить их на задний план или даже выйти из них без необходимости в любой кнопке! –

ответ

3

В приложении iOS 4.0 ваше приложение будет помещено в фоновом режиме, если другое приложение входит на передний план, и ресурсов для сохранения вашего приложения в фоновом режиме достаточно. Вы можете отправить URL-адрес Safari или другое приложение, зарегистрированное для обработчика, и надеяться, что достаточно памяти (и т. Д.), Чтобы ОС помещала ваше приложение в фоновый режим после запуска Safari (или любого другого приложения, обрабатывающего URL-адрес). Если вам повезет (что обычно случается довольно часто), вы программно отправляете свое приложение на задний план.

Конечно, ваше приложение работает в фоновом режиме или просто приостанавливается, зависит от других вещей (которые вы должны зарегистрировать в iOS 4.x).

+0

Слово «фон» означает что-то очень специфическое в iOS, и это не так, как вы его описываете. То, что вы имеете в виду, «неактивно». Неактивное приложение все еще работает. Фоновое приложение не работает. См. Мой ответ ниже. – Emmanuel

1

Apple действительно разрешает приложениям автоматически (убивать себя). Но это означает только в крайнем случае, когда происходит что-то плохое, из-за которого ваше приложение не может восстановиться.

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

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

1

Нет это не представляется возможным. Только iOS может помещать ваше приложение в фоновом режиме.

Обратите внимание, что существует много путаницы между «фоном» и «неактивным». Неактивное приложение - это приложение, которое не отображается в графическом интерфейсе, но все еще работает.

Технически приложение в фоновом режиме не работает; он бездействует. В зависимости от используемого режима фоновые приложения могут принимать сигналы и «просыпаться». См. Режимы фона для получения дополнительной информации: https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW22

Но фоновое приложение также может быть разорвано в любой момент без предупреждения. На самом деле я всегда рассматриваю фоновое приложение как прекращенное. Поэтому вы всегда должны очищать свое приложение до входа в фон и повторно инициализировать его при вводе на передний план.

Это нужно прочитать по этой теме: https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

Смежные вопросы