मैंने अभी 3 दिनों के लिए खोज की है लेकिन कहीं भी समाधान या इसी तरह की समस्या/प्रश्न नहीं मिला है। यहाँ सौदा है: -> 2 घंटे में काम करता है सहीअलार्ममेनर जल्द ही लंबित इन्टेंट को ट्रिगर करता है
उत्प्रेरक -> 1:23
उत्प्रेरक 1 में में दिन के चला जाता है -
1 घंटे में उत्प्रेरक में की> चला जाता है ~ 11: 00
तो अलार्ममेनगर इतनी अप्रत्याशित और हमेशा जल्द ही क्यों है? या मैं गलत क्या कर रहा हूँ? और क्या कोई और तरीका है जिससे यह सही ढंग से काम कर सके?
AlarmManager alarmManager = (AlarmManager)parent.getSystemService(ALARM_SERVICE);
Intent myIntent = new Intent(parent, UpdateKlasRoostersService.class);
PendingIntent pendingIntent = PendingIntent.getService(parent, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
//Set startdate of PendingIntent so it triggers in 10 minutes
Calendar start = Calendar.getInstance();
start.setTimeInMillis(SystemClock.elapsedRealtime());
start.add(Calendar.MINUTE, 10);
//Set interval of PendingIntent so it triggers every day
Integer interval = 1*24*60*60*1000;
//Cancel any similar instances of this PendingIntent if already scheduled
alarmManager.cancel(pendingIntent);
//Schedule PendingIntent
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, start.getTimeInMillis(), interval, pendingIntent);
//Old way I used to schedule a PendingIntent, didn't seem to work either
//alarmManager.set(AlarmManager.RTC_WAKEUP, start.getTimeInMillis(), pendingIntent);
यह अगर कोई एक समाधान है भयानक होगा:
इस तरह से मैं AlarmManager (नीचे छीन) में मेरी PendingIntent रजिस्टर है। किसी भी मदद के लिए धन्यवाद!
अद्यतन: 2 घंटे पहले यह 2 घंटों के अंतराल के साथ ट्रिगर करने के लिए काम करता था, लेकिन इसके बाद यह 1:20 घंटे के बाद ट्रिगर हुआ। यह वास्तव में अजीब हो रहा है। मैं एक लॉगफाइल के साथ ट्रिगर्स को ट्रैक कर दूंगा और इसे कल यहां पोस्ट करूंगा।
अद्यतन: PendingIntent हर 3 घंटे चलाने के लिए निर्धारित किया गया है। लेकिन
[2012-5-3 2:15:42 519] Updating Klasroosters
[2012-5-3 4:15:15 562] Updating Klasroosters
[2012-5-3 5:15:42 749] Updating Klasroosters
[2012-5-3 8:15:42 754] Updating Klasroosters
[2012-5-3 11:15:42 522] Updating Klasroosters
, मुझे यकीन है कि मैं इससे पहले कि मैं एक नया एक अनुसूची अनुसूचित PendingIntent के रद्द कर रहा हूँ: लॉग की दूसरी लाइन से ऐसा लगता है की तरह एक पुरानी शेड्यूल PendingIntent अभी भी चल रहा है। और प्रत्येक लंबित इंटेन्टेंट उसी तरह से नहीं बनाया जाता है, इसलिए यह बिल्कुल वही होना चाहिए। यदि नहीं, तो यह धागे प्रश्न अब प्रासंगिक नहीं है।
मैं आपकी समस्या को फिर से नहीं बना सकता। वास्तव में आप इसे 2 घंटे, 1 दिन भी अग्रिम करने के लिए 'स्टार्ट' कैसे बदलते हैं? – Sam
मैंने लॉगफाइल जोड़ा और पाया कि शायद एक पुराना लंबित इंटेंट अभी भी चल रहा है। – Wezelkrozum
मुझे भी वही समस्या है, क्या आपके पास कोई समाधान समाधान है? – david