Android-сервис неожиданно погиб - PullRequest
1 голос
/ 10 ноября 2010

У меня есть сервис Android, который отвечает за срабатывание уведомлений в определенные моменты времени. Для этого я использую android.OS.CountdownTimer. Деятельность создает и запускает службу. Если телефон заблокирован, отображаются уведомления, скажем, в течение 1 минуты. Уведомления, которые намного позже, никогда не отображаются. Служба не связана с действием, когда действие находится в режиме паузы.

Пока телефон не блокируется, генерируются уведомления, даже если активность остановлена ​​и не связана с услугой.

Мне кажется, что служба остановлена ​​/ убита. Когда я делаю приложение отлаживаемым и отлаживаю его на цели, оно отлично работает, даже когда действие остановлено и служба не привязана.

Приложение разработано для v1.5 и работает на Galaxy S с 2.2.

Служба запущена, как показано ниже

serviceIntent = new Intent().setAction("com.mytest.MyService");
startService(serviceIntent);
bindService(new Intent(context, 
         MyService.class), mConnection, 0 /*Context.BIND_AUTO_CREATE*/);

1 Ответ

1 голос
/ 11 ноября 2010

У меня есть сервис Android, который отвечает за запуск уведомлений в определенные моменты времени.Для этого я использую android.OS.CountdownTimer.

Пожалуйста, не делайте этого.Пожалуйста, используйте AlarmManager и IntentService, чтобы у вас не работал сервис все время.Пользователи убьют ваш сервис с помощью программы-убийцы или экрана «Управление службами» в приложении «Настройки».Android остановит ваш сервис.Вам лучше работать с архитектурой (AlarmManager / IntentService), которая работает в соответствии с пожеланиями пользователя и платформы.

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