Я использую библиотеку WorkManager (версия: 1.0.0-alpha12).В моем приложении я создаю новый процесс, используя следующую строку XML в AndroidManifest.
android:process=":myprocess"
Вот как я использую WorkManager:
public static void startCheckStatusWorker() {
WorkManager manager = WorkManager.getInstance();
String uniqueName = "check_status_worker";
PeriodicWorkRequest.Builder builder = new PeriodicWorkRequest.Builder(CheckStatusWorker.class, 1, TimeUnit.DAYS);
builder.setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build());
PeriodicWorkRequest request = builder.build();
manager.enqueueUniquePeriodicWork(uniqueName, ExistingPeriodicWorkPolicy.KEEP, request);
}
Но когда я вызываю этот методиз нового процесса, то приложение вылетает.Это исключение,
java.lang.IllegalStateException: WorkManager is not initialized properly. The most likely cause is that you disabled WorkManagerInitializer in your manifest but forgot to call WorkManager#initialize in your Application#onCreate or a ContentProvider.
at androidx.work.WorkManager.getInstance(WorkManager.java:139)
Если я вызываю тот же метод, из обычного процесса приложения он работает хорошо, и я не отключаю WorkManagerInitializer в моем манифесте приложения, как это предлагается.
Есть ли способ получить экземпляр WorkManager из нового процесса?
Любое предложение будет оценено.Спасибо.