2016-02-07 2 views
0

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

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

Как я могу отправлять уведомления из справочной службы и избегать диспетчера памяти Android, это уничтожает? Есть идеи?

+0

Какую услугу вы используете? 'IntentService' или' Сервис'? –

ответ

0

Вы можете использовать startForeground(), чтобы отметить услугу, важную для системы.

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

0

Если вы хотите, вы реализовали особенность, пожалуйста, посмотрите на AlarmManager class.

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

Так что, пожалуйста, не оставляйте службу постоянно, просто показывайте уведомление и отправляйте намерение с информацией о вашей службе в AlarmManager (пожалуйста, не забудьте позвонить stopService() в конце концов). Затем AlarmManager запустит вашу Службу, когда она понадобится, и Служба снова сделает это дело (уведомление и сообщение Intent для AlarmManager).

P.S: JobScheduler class

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