Используйте AlarmManager
для установки двух сигналов тревоги, каждый с PendingIntent
, который будет вызывать startService()
в вашей службе, но с различными строками действий ('start', 'stop').Когда onStart()
вашей службы обнаруживает действие «стоп» Intent
, она организует упорядоченное отключение (например, stopSelf()
).
Это не будет выполнено, если пользователь применяет к вам диспетчер задачAndroid 2.1 или более ранняя версия, поскольку техника, которую они обычно используют, уничтожит ваши тревоги (в дополнение к уничтожению службы).В этом случае пользователь, по-видимому, голосует за то, чтобы ваш сервис не работал, поэтому вам следует попытаться учесть его пожелания.