Middle+
Hogyan hozzuk létre saját WorkManager-t Androidon?
sobes.tech MI
Válasz az MI-től
-
Hozzon létre egy
Configuration-t:Configuration myConfig = new Configuration.Builder() .setMinimumLoggingLevel(android.util.Log.DEBUG) // adj hozzá más beállításokat .build(); -
Valósítsa meg a
Configuration.Provider-t azApplicationosztályában: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) // Állítsa be az Executor-t, ha szükséges // .setExecutor( Executors.newFixedThreadPool(8)) .build(); } @Override public void onCreate() { super.onCreate(); // A WorkManager inicializálása automatikusan megtörténik az első használatkor // vagy a WorkManager.getInstance(this) hívásakor } } -
Adja meg az
Applicationosztályát a manifestben:<application android:name=".MyApp" ... > </application>
Mostantól a WorkManager a saját konfigurációját fogja használni az inicializáláskor.
Alternatív (teljesebb kontroll):
-
Valósítsa meg a
Configuration.Provider-t egy külön osztályban, amely nem azApplication. -
Az
Applicationosztályban írja felül azonCreate()metódust, és hívja meg manuálisan aWorkManager.initialize()-t: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) // más beállítások .build()); } }
Ez a megközelítés nem ajánlott, ha csak a standard opciókat módosítja. A Configuration.Provider egyszerűbb és helyesebb megoldás a legtöbb esetben.