В моем текущем проекте я реализовал 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);
}