2011-10-17 7 views
9

मुझे यह जानकर खुशी होगी कि क्या अलार्म प्रबंधक द्वारा ट्रिगर किया गया लंबित इरादा है जो AlarmManager.setRepeating द्वारा दिए गए विशिष्ट समय पर एक गतिविधि शुरू करता है?यह जांचने के लिए कि क्या AlarmManager setRepeating द्वारा लंबित इरादा ट्रिगर किया गया है, पहले से चल रहा है?

अधिक विशिष्ट होने के लिए, मेरे पास एक ऐसी गतिविधि है जो एक पेटीकुलर सेट समय, या दोहराने का समय, (जो काम करता है) के साथ एक और गतिविधि को बंद कर देती है। लेकिन मैं जानना चाहता हूं कि अनुरोध उपयोगकर्ता द्वारा पहले ही सेट किया गया था या नहीं? उस मामले में मुझे कुछ मूल्य शुरू नहीं करना चाहिए।

इस प्रकार मैं निर्धारित गतिविधि शुरू करता हूं।

Intent myIntent = new Intent(getBaseContext(),MyScheduledReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0); 
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), interval, pendingIntent); 
+0

हाँ, यह उपयोगी है। – NyanLH

+0

अरे, धन्यवाद। खुशी हुई यह मदद की। एक +1 दे सकता है जो मेरी मदद कर सकता है। :) – Wesley

+0

असल में, आपको अपने प्रश्न का उत्तर देना चाहिए और जवाब स्वीकार करना चाहिए। फिर यह प्रश्न "अनुत्तरित" सूची में दिखाई नहीं देगा। –

उत्तर

18

ठीक है, मुझे लगता है कि मैं कैसे पता लगाने के लिए कामयाब रहे,

//CHECKING IF PENDING INTENT IS ALREADY RUNNING 
Intent checkIntent = new Intent(getApplicationContext(),MyScheduledReceiver.class); 
alarmUp = (PendingIntent.getBroadcast(getBaseContext(), 0, checkIntent, PendingIntent.FLAG_NO_CREATE) != null); 

धन्यवाद, आशा है कि यह किसी के लिए उपयोगी हो सकता है ...

+0

यह समाधान मेरे लिए काम नहीं करता है, लंबित INTent.FLAG_NO_CREATE फिर से हटाए गए लंबित इंटेंटेंट को शून्य बना देता है। –

+0

मुझे पता है कि यह पुराना है, लेकिन यह जानकारी गलत है, यह जांच करेगा कि क्या अलार्म निर्दिष्ट इरादे से सेट किया गया है, न कि इरादा निष्पादित किया गया है। – Gusman