मैं एक एसएमएस शेड्यूल ऐप बना रहा हूं जो उपयोगकर्ता से समय, एसएमएस और संख्या लेगा और किसी भी समय इस एसएमएस को भेज देगा। मैं PendingIntent
का उपयोग कर रहा हूं। मेरा नमूना कोड यहाँ है।एंड्रॉइड में ब्रॉडकास्ट रिसीवर को कैसे रोकें
जब उपयोगकर्ता शेड्यूल बनाता है, तो यह बस इस विधि को कॉल करता है।
private void SendMessages()
{
Intent intent = new Intent(this, SMSBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, Timemilli, pendingIntent);
}
और यहाँ
मेरा प्रश्न है 'SMSBroadcastReceiver.java' फ़ाइल है: उपयोगकर्ता अनुसूची संपादित करता है तो कैसे मुझे लगता है कि प्रसारण रद्द करने और एक नया एक भेज सकते हैं ??? जैसा कि एक से अधिक कार्यक्रम हो सकते हैं, बदलने/निरस्त करने के लिए कल्पना कैसे प्राप्त करें ??
लेकिन अगर मैं एकाधिक अलार्म जोड़ना चाहता हूं तो क्या होगा ?? –
@DawoodAbbasi: प्रत्येक के लिए अलग-अलग आईडी का उपयोग करें (आपके '234324243')। – CommonsWare
इसे संरचना करना आसान है ताकि किसी भी समय केवल एक अलार्म सक्रिय हो। वांछित डिलीवरी समय के आधार पर अपने सभी लंबित अलार्म को सॉर्ट करने का प्रयास करें, फिर केवल निकटतम को शेड्यूल करें। जब वह अलार्म आग लगती है, तो अपनी सूची देखें (डेटाबेस में रखें?) और फिर से निकटतम चुनें। –