Android. Запуск фоновой задачи каждые 15 минут, даже если приложение не работает.
Мне нужно создать фоновое задание, которое запускается каждые 10/15 минут (на самом деле это не важно, либо хорошо), даже если приложение не работает.
Как я могу это сделать? Я не могу показаться, что обволакиваю это.
Я читал, что могу использовать какую-то функцию runnable() или использовать фоновые службы или AlarmManager. Я думал о фоновом сервисе, так как это также должно быть сделано, когда само приложение не работает.
Каков лучший способ сделать это и как я могу это сделать?
Ответы
Ответ 1
Вы определили время (интервал) для выполнения фрагмента кода, его лучше использовать AlarmManager, поскольку его больше энергетический эффект. Если вашему приложению нужно прослушивать какое-то событие, тогда вам нужно обслуживание.
public static void registerAlarm(Context context) {
Intent i = new Intent(context, YOURBROADCASTRECIEVER.class);
PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE, i, 0);
// We want the alarm to go off 3 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
firstTime += 3 * 1000;//start 3 seconds after first register.
// Schedule the alarm!
AlarmManager am = (AlarmManager) context
.getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
600000, sender);//10min interval
}
Ответ 2
Диспетчер аварийных сигналов (системная служба) и Удаленная служба с внутренней реализацией сигнализации (отдельный процесс)?
Тревожный менеджер - ваш выбор, потому что он уже имеет то, что вам нужно, вам просто нужно установить интервалы тревоги
Ответ 3
Вы также можете добиться этого с помощью адаптера Sync
Здесь образец для вашего взгляда и вдохновения.
Пример SyncAdapter