पृष्ठभूमि:
मैं अलार्म मैनजर के माध्यम से अलार्म के लिए PendingIntent का उपयोग कर रहा हूं।
समस्या:
पहले मैंने सोचा था कि पिछले वाले को रद्द करने के लिए, मुझे सटीक अनुरोध प्रदान करना होगा जो मैंने अलार्म शुरू करने से पहले उपयोग किया है।
लेकिन तब मुझे पता चला कि मैं गलत था, क्योंकि रद्द करने वाला एपीआई कहता है:
मेल खाते इरादे के साथ किसी भी अलार्म निकालें। किसी भी प्रकार का अलार्म, जिसका आशय इस एक से मेल खाता है (जैसा कि फ़िल्टरएक्ल्स (आशय) द्वारा परिभाषित किया गया है), रद्द कर दिया जाएगा।
" फ़िल्टरएक्ल्स " को देखते हुए, प्रलेखन कहता है:
यह निर्धारित करें कि क्या आशय संकल्प (छानने) के उद्देश्यों के लिए दो उद्देश्य समान हैं। यही है, अगर उनकी कार्रवाई, डेटा, प्रकार, वर्ग और श्रेणियां समान हैं। यह इंटेंट्स में शामिल किसी भी अतिरिक्त डेटा की तुलना नहीं करता है।
इसलिए मुझे वह नहीं मिला जो "requestCode" के लिए है ...
प्रश्न:
"RequestCode" किसके लिए उपयोग किया जाता है?
क्या होगा अगर मैं एक ही "अनुरोधकोड" के साथ कई अलार्म बनाऊँ? क्या वे एक दूसरे को ओवरराइड करते हैं?
If you truly need multiple distinct PendingIntent objects active at the same time (such as to use as two notifications that are both shown at the same time), then you will need to ensure there is something that is different about them to associate them with different PendingIntents. This may be any of the Intent attributes considered by Intent#filterEquals(Intent), or different request code integers supplied.