WorkManager. Должны ли мы удалить инициализатор по умолчанию, если мы используем как инициализацию по умолчанию, так и пAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 WorkManager. Должны ли мы удалить инициализатор по умолчанию, если мы используем как инициализацию по умолчанию, так и п

Сообщение Anonymous »

Я получаю следующую новую ошибку при обновлении WorkManager с «2.2.0» до «2.3.0-rc01»

Ошибка возникает, когда я экспортирую APK.

C:\app: Error: Remove androidx.work.impl.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization. [RemoveWorkManagerInitializer]

Explanation for issues of type "RemoveWorkManagerInitializer":
If an android.app.Application implements
androidx.work.Configuration.Provider,
the default androidx.work.impl.WorkManagerInitializer needs to be removed
from the
AndroidManifest.xml file.


Я не понимаю, почему я не получил такую ​​ошибку в версии 2.2.0, поскольку «Инициализация по требованию» появилась с версии 2.1.0.

Согласно https://developer.android.com/topic/lib ... ve-default
Я не уверен, правильно ли включать следующее в мой AndroidManifest.xml.


android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />




В настоящее время это мой класс Application.

Класс MyApplication

public class MyApplication extends MultiDexApplication implements Configuration.Provider {
private static MyApplication me;

@Override
public void onCreate() {
super.onCreate();

me = this;
}

public static MyApplication instance() {
return me;
}

@NonNull
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.build();
}
}


Как я создаю WorkManager

public static WorkManager getWorkManager() {
MyApplication myApplication = MyApplication.instance();
if (myApplication == null) {
// Very rare edge case. Not sure how it happens. But, it happens :)
return WorkManager.getInstance();
} else {
return WorkManager.getInstance(myApplication);
}
}




Похоже, что существует редкая вероятность того, что «Инициализация по умолчанию» (WorkManager.getInstance()) также выполняется, когда класс Application имеет значение null.

Я могу легко устранить ошибку во время экспорта APK, включив следующий поставщик . Но правильно ли это?




Подробнее здесь: https://stackoverflow.com/questions/597 ... th-default
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»