#android #adapter #sync #intervals
#Android #адаптер #синхронизация #интервалы
Вопрос:
Привет, я внедряю адаптер синхронизации учетной записи и пытаюсь создать экран настроек в разделе «Учетная запись и синхронизация», чтобы пользователь мог изменять интервал синхронизации. что я хочу знать, так это как я могу синхронизировать адаптер в указанное время на экране настроек? предоставляет ли Android метод для этого? то, что я думал сделать, это сохранить время последней успешной синхронизации и сравнить прошедшее с тех пор время с периодом, сохраненным в настройках. это правильный способ сделать это или есть более чистое решение моей проблемы?
Ответ №1:
Что вы можете сделать, так это вызвать метод addPeriodicSync (учетная запись учетной записи, полномочия строки, дополнительные функции пакета, длительная частота опроса), указывающий, что синхронизация должна быть запрошена с указанной учетной записью, полномочиями и дополнительными функциями с заданной частотой. Я думаю, что это решит вашу проблему.
Комментарии:
1. Это хорошо, но я не могу его использовать, потому что это метод, добавленный в api 8. мне нужно что-то, что будет работать на минимальном sdk 7.
2. вы можете вызвать requestSync (учетная запись учетной записи, полномочия строки, дополнительные функции пакета), чтобы запустить операцию асинхронной синхронизации. по истечении указанного времени.
Ответ №2:
В качестве примера смотрите Этот коммит, где я добавил опцию изменения интервала синхронизации в одном из моих приложений. Затем этот коммит был расширен за счет динамического выбора способа выполнения на основе уровня api ОС, на которой он в данный момент запущен, поэтому он использует встроенный метод для 8 и аварийный сигнал для <8.
Суть этого в том, что установка интервала для api <8 создает сигнал тревоги с использованием api AlarmManager с указанным интервалом, который запускает BroadcastReceiver для вызова requestSync.