Firebase 作业调度程序未从 Thread.setDefaultUncaughtExceptionHandler 调用
Firebase Job Dispatcher is not calling from Thread.setDefaultUncaughtExceptionHandler
我正在创建一个 Firebase 作业调度程序,用于向服务器发送错误崩溃报告。我的服务不是从调度程序的 mustSchedule 方法开始的。这可能是因为我正在开始我的工作,而不是 activity。
这是我的代码...
服务启动代码:
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;
}
提前致谢。
我在同一天发现了这个问题,但我非常busy.i正在将我的简单服务更改为 JobService。问题在于将 Bundle 传递给我的 JobService。我的 JobService 无法执行太多任务,因为我正在创建崩溃文件并将其发送到服务器。但是,服务在应用程序崩溃后无法处理这么多。唯一的区别是简单服务能够在应用程序崩溃后执行相同的任务。
我正在创建一个 Firebase 作业调度程序,用于向服务器发送错误崩溃报告。我的服务不是从调度程序的 mustSchedule 方法开始的。这可能是因为我正在开始我的工作,而不是 activity。 这是我的代码...
服务启动代码:
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;
}
提前致谢。
我在同一天发现了这个问题,但我非常busy.i正在将我的简单服务更改为 JobService。问题在于将 Bundle 传递给我的 JobService。我的 JobService 无法执行太多任务,因为我正在创建崩溃文件并将其发送到服务器。但是,服务在应用程序崩溃后无法处理这么多。唯一的区别是简单服务能够在应用程序崩溃后执行相同的任务。