डिफ़ॉल्ट रूप से, आपका ऐप्लिकेशन शुरू होने पर, WorkManager खुद को अपने-आप कॉन्फ़िगर करता है. ऐसे उचित विकल्पों का इस्तेमाल करना जो ज़्यादातर ऐप्लिकेशन के लिए सही हैं. अगर आपको इससे ज़्यादा WorkManager के काम करने और शेड्यूल करने के तरीके को कंट्रोल करने के लिए, WorkManager कॉन्फ़िगरेशन को खुद शुरू करके.
मांग पर शुरू करना
मांग पर शुरू करने की सुविधा से, सिर्फ़ तब WorkManager बनाया जा सकता है, जब वह कॉम्पोनेंट हर बार ऐप्लिकेशन के शुरू होने पर इसका इस्तेमाल करने के बजाय, इसकी ज़रूरत पड़ती है. ऐसा करने से WorkManager बंद हो जाता है आपका ज़रूरी स्टार्टअप पाथ, ऐप्लिकेशन के स्टार्टअप की परफ़ॉर्मेंस को बेहतर बनाना. मांग पर सुविधा इस्तेमाल करने के लिए शुरू करना:
डिफ़ॉल्ट शुरू करने वाला टूल हटाएं
अपना कॉन्फ़िगरेशन उपलब्ध कराने के लिए, डिफ़ॉल्ट सेटिंग को हटाना होगा
शुरू करने वाला. ऐसा करने के लिए, अपडेट करें
AndroidManifest.xml
मर्ज नियम tools:node="remove"
का इस्तेमाल करें.
WorkManager 2.6 के बाद से, ऐप्लिकेशन स्टार्टअप का इस्तेमाल किया जा रहा है
WorkManager में अंदरूनी तौर पर. कस्टम शुरू करने वाला टूल देने के लिए, आपको
androidx.startup
नोड हटाएं.
अगर आप अपने ऐप्लिकेशन में App Startup का इस्तेमाल नहीं करते हैं, तो आप उसे पूरी तरह से हटा सकते हैं.
<!-- If you want to disable android.startup completely. -->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:node="remove">
</provider>
अगर ऐसा नहीं है, तो सिर्फ़ WorkManagerInitializer
नोड हटाएं.
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<!-- If you are using androidx.startup to initialize other components -->
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup"
tools:node="remove" />
</provider>
WorkManager के 2.6 से पुराने वर्शन का इस्तेमाल करते समय,
इसके बजाय workmanager-init
:
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
मेनिफ़ेस्ट में मर्ज करने के नियमों का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, यह दस्तावेज़ देखें कई मेनिफ़ेस्ट फ़ाइलों को मर्ज करके.
कॉन्फ़िगरेशन.Provider को लागू करें
अपनी Application
क्लास से
Configuration.Provider
और इस पेज पर अपने हिसाब से बदलाव करके,
Configuration.Provider.getWorkManagerConfiguration
.
WorkManager का इस्तेमाल करने के लिए, पक्का करें कि आपने
WorkManager.getInstance(Context)
.
WorkManager आपके ऐप्लिकेशन में सेट किए गए, पसंद के मुताबिक getWorkManagerConfiguration()
तरीके को कॉल करता है
Configuration
को एक्सप्लोर करें. (आपको कॉल करने की ज़रूरत नहीं है
खुद WorkManager.initialize
.)
यहां कस्टम getWorkManagerConfiguration()
को लागू करने का एक उदाहरण दिया गया है:
Kotlin
class MyApplication() : Application(), Configuration.Provider { override fun getWorkManagerConfiguration() = Configuration.Builder() .setMinimumLoggingLevel(android.util.Log.INFO) .build() }
Java
class MyApplication extends Application implements Configuration.Provider { @Override public Configuration getWorkManagerConfiguration() { return new Configuration.Builder() .setMinimumLoggingLevel(android.util.Log.INFO) .build(); } }
WorkManager 2.1.0 से पहले, पसंद के मुताबिक शुरू करना
WorkManager के 2.1.0 से पहले के वर्शन के लिए, दो प्रोसेस शुरू होती हैं के विकल्प. ज़्यादातर मामलों में, डिफ़ॉल्ट रूप से शुरू करना आपकी ज़रूरत पूरी हो जाती है. WorkManager के सटीक कंट्रोल के लिए, ये काम किए जा सकते हैं अपना कॉन्फ़िगरेशन खुद बताएं.
डिफ़ॉल्ट रूप से शुरू करना
आपका ऐप्लिकेशन जब भी अपने-आप शुरू होता है, तब WorkManager पसंद के मुताबिक ContentProvider
का इस्तेमाल करता है
शुरू होता है. यह कोड इंटरनल क्लास में मौजूद है
androidx.work.impl.WorkManagerInitializer
और डिफ़ॉल्ट वैल्यू का इस्तेमाल करता है
Configuration
.
डिफ़ॉल्ट शुरू करने वाला टूल अपने-आप इस्तेमाल किया जाता है. ऐसा तब तक किया जाता है, जब तक आप
उसे बंद कर दिया जाए.
डिफ़ॉल्ट शुरू करने वाला टूल ज़्यादातर ऐप्लिकेशन के लिए सही होता है.
पसंद के मुताबिक शुरू करना
अगर आपको शुरू करने की प्रोसेस को कंट्रोल करना है, तो डिफ़ॉल्ट शुरू करने वाले टूल को बंद करें, फिर अपना कस्टम कॉन्फ़िगरेशन तय करें.
डिफ़ॉल्ट शुरू करने वाले को हटाने के बाद, आप मैन्युअल रूप से शुरू कर सकते हैं वर्क मैनेजर:
Kotlin
// provide custom configuration val myConfig = Configuration.Builder() .setMinimumLoggingLevel(android.util.Log.INFO) .build() // initialize WorkManager WorkManager.initialize(this, myConfig)
Java
// provide custom configuration Configuration myConfig = new Configuration.Builder() .setMinimumLoggingLevel(android.util.Log.INFO) .build(); //initialize WorkManager WorkManager.initialize(this, myConfig);
पक्का करें कि
WorkManager
सिंगलटन या तो इसमें चलता है
Application.onCreate()
या
ContentProvider.onCreate()
.
उपलब्ध कस्टमाइज़ेशन की पूरी सूची देखने के लिए, देखें
Configuration.Builder()
देखें.