Я работаю над кодом, в котором мне нужно вызывать API для каждых 60 * 1000 миллисекунд, как на переднем плане, так и на заднем плане, независимо от активности / фрагмента.
Я пытался использовать обработчик и другие решения, такие как jobпланировщик и т. д. Когда устройство подключено к источнику питания или на экране устройства просыпается, мое решение работает нормально, но когда устройство заблокировано, оно не работает идеально.В настоящее время я использую приведенную ниже логику в классе приложения
Handler minuteHandler = new Handler();
minuteHandler.postDelayed(runnable, 60*1000);
final Runnable runnable = new Runnable() {
@Override
public void run() {
// method to call api
minuteHandler.removeCallbacks(runnable);
minuteHandler.postDelayed(runnable, 60*1000);
}
};
Решение простое, так как мне нужно вызывать API каждые 60 * 1000 миллисекунд без задержки в миллисекундах в течение до 8-10 часов непрерывно до приложенияуничтожается.