Android, возможно ли использовать системный таймер в качестве приемника вещания? - PullRequest
1 голос
/ 21 октября 2011

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

Я могу создать поток и использовать класс таймера, но я хочу знать, есть ли другой способ? например, таймер системы отправляет флаг (что-то передает), и я получаю его в приложении (чтобы обновить мои данные)?

Спасибо

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Если вы хотите обновлять данные каждые несколько секунд, вы можете настроить Hanlder , чтобы сделать это. Однако это требует, чтобы ваша активность продолжалась.

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

Если вы просто хотите отслеживать изменение системного времени. Ну, есть намерение ACTION_TIME_TICK . Вы можете зарегистрировать BroadcastReceiver, чтобы он соответствовал ему и реализовывал свой собственный код, когда система транслирует его. Однако интервал «TICK» составляет только «одну минуту» и не может быть изменен.

1 голос
/ 21 октября 2011

AlarmManager - это то, что вы ищете.Его можно использовать для настройки периодических событий, которые доставляются через PendingIntent (который можно превратить в трансляцию Intent).

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

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