Замена WakefulBroadcastReceiver на WorkManager для получения блокировок пробуждения и выполнения нескольких вызовов службы? - PullRequest
0 голосов
/ 13 мая 2019

В моем текущем проекте я реализовал WakefulBroadcastReceiver для получения «wakelocks» и выполнения некоторых обратных вызовов сервера, таких как служба sync (), для синхронизации данных, связанных с приложением, вызывая IntentService, чтобы выполнить то же самое.Поскольку WakefulBroadcastReceiver уже устарел, я хочу использовать последний менеджер работы Android для выполнения той же операции.Я также посмотрел в JobIntentService для альтернативной реализации.Я все еще хочу выяснить, возможно ли реализовать это с помощью диспетчера работ?

Я уже попробовал JobIntentService в качестве альтернативного решения.

Предыдущая реализация:

 // Explicitly specify that FcmIntentService will handle the intent.
            ComponentName componentName = new ComponentName(getPackageName(), FcmIntentService.class.getName());

            // Start the service, keeping the device awake whilst it is launching
            try {
                startWakefulService(this, intent.setComponent(componentName));
            } catch (Exception e) {
                // Not Required
            }

//With JobIntentService:

Intent intent = new Intent();
        intent.putExtras(toBundle(data));
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            FcmJobIntentService.enqueueWork(this, intent);

        }
...