Sobes.tech
Middle+

Kaip sukurti savo WorkManager Android?

sobes.tech AI

Atsakymas iš AI

  1. Sukurkite Configuration:

    Configuration myConfig = new Configuration.Builder()
        .setMinimumLoggingLevel(android.util.Log.DEBUG)
        // pridėkite kitus nustatymus
        .build();
    
  2. Įgyvendinkite Configuration.Provider savo Application klasėje:

    import androidx.work.Configuration;
    import androidx.work.WorkManager;
    
    public class MyApp extends Application implements Configuration.Provider {
    
        @Override
        public Configuration getWorkManagerConfiguration() {
            return new Configuration.Builder()
                .setMinimumLoggingLevel(android.util.Log.DEBUG)
                // Nustatykite Executor, jei reikia
                // .setExecutor( Executors.newFixedThreadPool(8))
                .build();
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            // WorkManager inicijuosis automatiškai pirmo naudojimo metu
            // arba iškvietus WorkManager.getInstance(this)
        }
    }
    
  3. Nurodykite savo Application klasę manifeste:

    <application
        android:name=".MyApp"
        ... >
        </application>
    

Dabar WorkManager naudos jūsų pasirinktą konfigūraciją inicijavimo metu.

Alternatyvus būdas (pilnesnei kontrolei):

  1. Įgyvendinkite Configuration.Provider atskirame klasėje, kuris nėra Application.

  2. Application klasėje perrašykite onCreate() metodą ir rankiniu būdu iškvieskite WorkManager.initialize():

    import androidx.work.Configuration;
    import androidx.work.WorkManager;
    
    public class MyApp extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            WorkManager.initialize(this, new Configuration.Builder()
                .setMinimumLoggingLevel(android.util.Log.DEBUG)
                // kiti nustatymai
                .build());
        }
    }
    

Šis metodas nerekomenduojamas, jei tik keičiate standartines parinktis. Configuration.Provider yra paprastesnis ir teisingesnis sprendimas daugeliu atvejų.