मैं एक विशिष्ट समय प्रतिदिन पर जॉबशेड्यूलर शुरू करना चाहता हूं, और इसे 3 घंटे के बाद समाप्त करना चाहता हूं।एंड्रॉइड विशिष्ट समय पर जॉबशेड्यूलर चलाना शुरू कर देता है
मेरे पास हर 20 मिनट, और 3 घंटे के लिए नौकरी ट्रिगर करने का हिस्सा है, लेकिन जॉबइन्फो.बिल्डर वर्ग में नौकरी शुरू करने के लिए कोई विकल्प नहीं है।
JobInfo.Builder वर्ग सिंहावलोकन के ऊपर जा रहे हैं, वहाँ कुछ भी नहीं है कि एक JobScheduler शुरू करने के लिए समय सेट है।
जाहिर है, मैं पूरे दिन के लिए इसे चलाने, और समय से मेल खाता है, यह अधिक बैटरी की जरूरत की तुलना में नाली जाएगा, और बुरा कार्यक्रमों की है कि जाँच करने के लिए नहीं करना चाहती।
मैं निर्दिष्ट समय पर चलाने के लिए अलार्म बनाने की सोच रहा था और इस नौकरी को ट्रिगर करता था, लेकिन ऐसा लगता है कि यह थोड़ा अधिक है।
JobInfo.Builder builder = new JobInfo.Builder(NIGHT_SYNC_JOB_ID,
new ComponentName(context, NightSyncDataJobService.class));
//Job starts at 11pm, and ends at 2am. Running every 20 minutes.
builder.setPersisted(true); //Job scheduled to work after reboot
builder.setPeriodic(Consts.ONE_MINUTE * 20);
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
आप इस मुद्दे को किसी अन्य समाधान है, तो AlarmManger कि इस JobScheduler से चलाता है के बगल में, बहुत सराहना की जाएगी।
रोज़ाना शेड्यूल करने के बजाय मैं विशिष्ट दिनों के लिए नौकरी निर्धारित करना चाहता हूं (बस रविवार, बुधवार, शनिवार के लिए कहें), क्या यह जॉबशेडुलर @prerak –
का उपयोग करना संभव है, मुझे यकीन नहीं है कि एकमात्र तरीका मैं सोच सकता हूं कि आप मौजूदा नौकरी और ऑफसेट के साथ एक भविष्य एक पुनर्निर्धारित। इसमें कुछ गणित को शामिल करने की आवश्यकता है: डी – prerak