Запуск приложения в режиме ожидания во время push-уведомления - PullRequest
0 голосов
/ 14 февраля 2012

Я использовал push-уведомления в своем приложении. И у меня есть два вопроса по этому поводу:

  1. Мое приложение не запускается автоматически, когда телефон находится в режиме ожидания, и оно получает push-уведомление. Противоречие заключается в том, что, когда приложение в режиме ожидания и быстро разблокирует его, меняя его, оно запускает приложение, но когда я переключаюсь позже, скажем, через 2-3 минуты приложение не запускается автоматически. Как сделать возможным запуск каждый раз?

  2. Я хочу увеличить время вибрации во время push-уведомления. В настоящее время он едва вибрирует в течение 1 секунды.

1 Ответ

0 голосов
/ 14 февраля 2012

1) Концепция сна / ожидания не слишком сложна; когда пользователь «выйдет» из вашего приложения (нажав кнопку «Домой»), ваше приложение будет либо остановлено и переведено в замороженное состояние (4.x), либо полностью завершено (3.x). Тем не менее, вам предоставляется возможность выполнить несколько операций очистки до того, как последний произойдет с методом - (void)applicationWillTerminate:(UIApplication *)application, и до того, как первый произойдет с методом - (void)applicationDidEnterBackground:(UIApplication *)application (оба будут вызваны вашим классом делегата). Концепция «сна» означает, что как в iPhone OS 3, так и в iOS 4 вы получите следующий метод, когда ваше приложение теряет фокус (а также, когда приходит SMS или предупреждение и т. Д.):

- (void)applicationWillResignActive:(UIApplication *)application

Действительно, большинство приложений (за исключением приложений, предназначенных для работы в фоновом режиме, таких как VoIP, потоковое аудио и т. Д.) Просто закрываются при закрытии. Но если вам нужно, вы также можете приостановить зависание своего приложения и попросить больше времени для выполнения задачи.

2) Вы не можете изменять длительность вибрации с помощью официальных API.

Вы можете вызывать AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); несколько раз в цикле или использовать NSTimer, но это не рекомендуется. Это разряжает батарею, и устройство может упасть со стола. Кстати, Apple может отклонить ваше приложение, если посчитает, что вы не используете вибрацию должным образом.

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