Диспетчер заданий Firebase не вызывается из Thread.setDefaultUncaughtExceptionHandler

Я создаю диспетчер заданий Firebase для отправки отчета об ошибке на сервер. Моя служба не запускается с помощью метода mustSchedule диспетчера. Это может быть связано с тем, что я приступаю к работе, а не к какой-либо деятельности. Вот мой код...

Код для запуска службы:

 public void scheduleJobForUploadCrashReport(Context context, Bundle serviceBundle) {
    Logs.i(TAG, "scheduleJobForUploadCrashReport");
    FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context));
    try {
        Job job = createJobForuploadCrashReport(dispatcher, serviceBundle);
        dispatcher.mustSchedule(job);
        Logs.i(TAG, "dispatcher is scheduled---->");
    } catch (FirebaseJobDispatcher.ScheduleFailedException e) {
        Logs.e(TAG, "FirebaseJobDispatcher.ScheduleFailedException : " + e.getMessage());
        e.printStackTrace();
    }

}

Код для создания задания:

 public Job createJobForuploadCrashReport(FirebaseJobDispatcher dispatcher, Bundle serviceBundle) {
    Logs.i(TAG, "createJobForuploadCrashReport");
    Job job = dispatcher.newJobBuilder()
            .setLifetime(Lifetime.FOREVER)
            .setService(UploadApkCrashReportService.class)
            .setTag(mAppName + mModuleName)
            .setReplaceCurrent(false)
            .setRecurring(false)
            .setTrigger(Trigger.executionWindow(0, 30))
            .setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
            .setConstraints(Constraint.ON_ANY_NETWORK)
            .setExtras(serviceBundle)
            .build();
    return job;
}

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


person Rounak Lahoti    schedule 02.04.2018    source источник


Ответы (1)


Я обнаружил проблему в тот же день, но был очень занят. Я меняю свой Simple Service на JobService. Проблема заключается в передаче Bundle в мой JobService. Мой JobService не может выполнять столько задач, сколько я создаю и отправляю файл сбоя на сервер. Но Сервис не может справиться со столькими проблемами после сбоя приложения. Единственная разница в том, что Simple Service может выполнять ту же задачу после сбоя приложения.

person Rounak Lahoti    schedule 05.04.2018