Альтернатива / замена Firebase Jobdispatcher
Недавно вернулся к некоторому устройству Android, и, поскольку Nougat, кажется, что Firebase JobDispatcher не может быть запущен чаще, чем раз в 15 минут, что не применимо в нашем случае использования, нам нужно иметь возможность извлекать и извлекать данные на наш веб-сервис, по крайней мере, один раз в минуту.
Что я должен / могу использовать вместо этого? Я пока не смог найти надежную замену, изучал SyncAdapter, IntentService и то, что я обнаружил, что они не совсем подходят для этого варианта использования.
Заранее спасибо.
1 ответ
Решение
Вы можете использовать базовый сервис
public class YourWebService extends Service {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
@Override
public void onCreate() {
super.onCreate();
Runnable runnable = new Runnable() {
@Override
public void run() {
//your code here
//web request, data push, something else
}
};
//your code will be executed every 60 seconds
scheduler.scheduleAtFixedRate(runnable, 0, 60, TimeUnit.SECONDS);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
Вы можете начать свой сервис с деятельности
startService(new Intent(YourActivity.this, YourWebService.class));
И вы должны зарегистрировать свой сервис в manifest.xml
<service
android:name=".YourWebService" />