Android: продолжайте работу, даже если устройство заблокировано - PullRequest
0 голосов
/ 16 января 2011

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

Однако поток подсчета останавливается , когда устройство заблокировано (Iимеется в виду, когда экран выключается через полминуты), и продолжайте с того места, где он оставался, если он снова разблокирован - даже если это будет несколько часов спустя.

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

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

Класс «Обработчик», который он упоминает, кажется, предназначен для чего-то совершенно отличного от того, что яЯ пытаюсь достичь.

Итак, я спрашиваю вас: как я могу сохранить свою ветку и считать, даже если устройство заблокировано?Или есть другой способ?

Ответы [ 2 ]

2 голосов
/ 17 января 2011

Вам не нужно этого делать. Не держите нить вокруг для тревоги. Используйте AlarmManager

Также нет понятия о том, работает ваше приложение или нет. Вы имеете в виду только когда это видно? Просто удалите сигнал тревоги в onPause ().

0 голосов
/ 17 января 2011

Почему вы не используете уведомления?Вы можете установить звук, вибрацию, освещение и отображение значка в строке состояния.Если вы хотите отменить Уведомление, используйте NotificationManager.

http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CreateANotification

Герт

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