Альтернатива / замена Firebase Jobdispatcher

недавно вернулся к некоторым разработчикам Android, и, поскольку Nougat кажется, что Firebase JobDispatcher нельзя запускать чаще, чем раз в 15 минут, что неприменимо в нашем случае использования, нам нужно иметь возможность отправлять и извлекать данные к нашему веб-сервису не реже одного раза в минуту.

Что следует / можно использовать вместо этого? Я еще не смог найти надежную замену, изучал SyncAdapter, IntentService и то, что я обнаружил, на самом деле они не подходят для этого случая использования.

Заранее спасибо.

Есть ли у JobScheduler ограничение на 15 минут? developer.android.com/reference/android/app/job/…. Firebase JobDispatcher обычно используется для случая, предшествующего Lollipop, когда JobScheduler не поддерживается.

Edmund Johnson 17.04.2018 21:51

Да, согласно нуги JobScheduler имеет такое же ограничение.

Tim 18.04.2018 08:52
0
2
258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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" />

Спасибо, пока мы использовали эту реализацию, и она кажется надежной.

Tim 19.04.2018 12:54

Другие вопросы по теме