2014-08-29 10 views
6

मुझे अलार्म जोड़ने के लिए क्या करना चाहिए, लेकिन शुरुआती तारीख को पिछली तारीख पर सेट करना चाहिए?एंड्रॉइड सेटिंग अलार्म को पिछली तारीख

क्या तुरंत निष्पादित किया जाता है या इसे कतार में रखा जाता है और कभी निष्पादित नहीं किया जाता है?

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, repeatingValue, alarmIntent); 
+3

अपने आप को आजमाएं और इसे बहुत ही सरल परीक्षण करें :) – MilapTank

+0

उपयोग 'setRepeating' के बजाय' setInexactRepeating' का उपयोग करें .. –

उत्तर

5

यदि तारीख अतीत में है तो अलार्म तुरंत ट्रिगर होगा। setInexactRepeating() docs से

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, setInexactRepeating , alarmIntent); 

:

अनुसूची एक दोहराई जाने वाली अलार्म अयथार्थ ट्रिगर समय की आवश्यकताओं है, लेकिन आप setRepeating के बजाय setInexactRepeating उपयोग करने के लिए कोशिश कर सकते हैं उदाहरण के लिए , एक अलार्म जो हर घंटे दोहराता है, लेकिन हर घंटे के शीर्ष पर पर जरूरी नहीं है।

0

मैं अलार्म इस तरह से यह सही hour:minute आप सेट पर शुरू कर देंगे नहीं किसी विशेष दिन की (कम से कम एंड्रॉयड यूजर इंटरफेस के माध्यम से) केवल घंटे के लिए सेट कर दिया जाता,, लगता है।

7

documentation से, यदि स्टार्टडेट समय अतीत में है, तो अलार्म तुरंत ट्रिगर हो जाएगा।

0

जैसा कि मैं अपने पिछले अनुभव से AlarmManager के साथ निष्कर्ष निकाल सकता हूं। अतीत में की तारीख तुरंत अलार्म ट्रिगर करेगी।

1

असल में अलार्ममेनर वर्तमान समय के साथ काम करता है। तो तुम अतीत तारीख अलार्म तो सेट हो जाएगा जब AlarmManager निष्पादित करेंगे

public void onReceive(Context context, Intent intent) 
{ 
} 

विधि।

0

जहाँ तक मैं कह सकता हूं, अलार्ममेनगर.सेट समय के साथ सेट होने पर अब निष्पादित होगा, दस्तावेज़ीकरण उतना ही कहता है। यह वाक्य AlarmManager.setInexactRepeating के लिए अनुपलब्ध है, यह अलार्म पिछली बार सेट होने पर ट्रिगर नहीं होगा, यह दिए गए समय से शुरू होने वाले अगले अंतराल पर ट्रिगर होगा।

0

अलार्ममेनगर.सेट और अलार्ममेनगर.सेटआईनेक्सएक्टएक्टिंग दोनों कॉलिंग सेट आईएमपीएल हैं, ट्रिगरटाइम के साथ वे पैरामीटर (एंड्रॉइड 7.1.2 स्रोतों में चेक) के रूप में पारित हो गए हैं। -> ट्रिगरटाइम अतीत में है, तो दोनों विधियों में कोई अंतर नहीं है।

संबंधित मुद्दे