android - अलार्म प्रबंधक एंड्रॉइड में सही समय पर अलार्म को ट्रिगर नहीं करता



calendar alarmmanager (1)

आपके पास दो समस्याएं हैं:

  1. यह एक सेवा के साथ एक _WAKEUP अलार्म सीधे उपयोग करने के लिए विश्वसनीय नहीं है केवल विश्वसनीय पैटर्न में शामिल हैं WakefulBroadcastReceiver , मेरी WakefulIntentService , या उन पंक्तियों के साथ कुछ, जहां PendingIntent BroadcastReceiver PendingIntent होगा

  2. यदि आपका android:targetSdkVersion 19 या अधिक है, और आप एक API स्तर 19+ डिवाइस पर चल रहे हैं, तो set() अयोग्य है। आदर्श रूप से, आप अपने अलार्म इवेंट के पावर हिट को कम करने के लिए, इसे अयोग्य, या शायद setWindow() का उपयोग करने की अनुमति दे सकते हैं। यदि यह बिल्कुल सटीक क्षण में हो, तो आपको setExact() का उपयोग करने की आवश्यकता होगी। setWindow() और setExact() एपीआई स्तर 19 के लिए नया होने के बाद से, setWindow() द्वारा पुराने उपकरणों पर set() करने के लिए आपको वापस गिरने की आवश्यकता होगी। Build.VERSION.SDK_INT और तदनुसार शाखाएं।

मैं निम्न के रूप में कैलेंडर वर्ग का उपयोग कर अलार्म को निर्धारित किया है

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,1);
cal.getTimeInMillis();  
cal.set(Calendar.MINUTE,05);
long TriggerMillis = cal.getTimeInMillis();

AlarmManager aManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);      
aManager.set(AlarmManager.RTC_WAKEUP, TriggerMillis,pIntent);

जहां पिंटेंट एक अलार्म ट्रिगर होने पर आगे बढ़ने का एक लंबित उद्देश्य है।

घटना कुछ सेकंड के विलंब से ट्रिगर करता है। क्या इस कार्य के लिए कैलेंडर वर्ग का उपयोग करने में कोई भी समस्या है कोई सुझाव?

TIA ..





android-alarms