2012-09-20 23 views
5

मैं broadcastreceiver में एक अलार्म प्रबंधकअलार्म broadcastReceiver से requestcode पुनः प्राप्त

Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId, broadcast_intent, PendingIntent.FLAG_UPDATE_CURRENT); 

मैं सोच रहा था करने के लिए इस के माध्यम से एक अनुरोध कोड भेज रहा हूँ, कि, मैं requestcode (rowId) है कि मैं सेटअप करने के लिए प्रयोग किया जाता है कैसे पुनर्प्राप्त कर सकते हैं pendingIntent?

धन्यवाद

+0

कोई जवाब अभी तक? Comon – Snake

उत्तर

2

मैं वही चीज़ खोज रहा था। एक तरीका आपके अनुरोध में अतिरिक्त के रूप में अनुरोध कोड पास करना होगा।

intent.putExtra("requestcode", rowId); 

हालांकि, अगर एप्लिकेशन मार दिया जाता है वहाँ डेटा आशय द्वारा पारित पुनः प्राप्त करने के लिए कोई रास्ता नहीं है।

तो तुम rowId एक यूआरआई के रूप में पारित, और आशय फ़िल्टर का उपयोग करने की जरूरत है।

+0

एप्लिकेशन को मार डाला है, तो अलार्म अभी भी पंजीकृत किया जाएगा। तो समाप्ति पर आप अभी भी आवश्यक कोड कोड प्राप्त करने में सक्षम होंगे? – Snake

+0

नहीं, अलार्म अभी भी पंजीकृत किया गया है लेकिन आशय द्वारा निहित अतिरिक्त डेटा खो जाएगा। मैं इसे करने की कोशिश की। –

+0

आह मैं देखता हूं, ऐसा कोई व्याख्या क्यों है – Snake

2
Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId, 
           broadcast_intent,PendingIntent.FLAG_UPDATE_CURRENT 
          ); 

बेस्ट इस प्रकार getBroadcast() - broadcast_intent.putExtras("REQUESTCODE",rowId) ; भीतर जबकि broadcast_intent चर्चा करते हुए अतिरिक्त पारित करने के लिए होगा:

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, rowId, 
           broadcast_intent.putExtras("REQUESTCODE",rowId), 
           PendingIntent.FLAG_UPDATE_CURRENT); 
2

requestCode एक pendingIntent बनाते समय रिसीवर के लिए पर पारित करने के लिए इरादा नहीं है प्रयोग किया जाता है, यह के रूप में करना है कई लंबित इंटेंट्स प्रबंधित करने में सक्षम होने के लिए लंबित इंन्टेंट बनाने वाले ऐप का एक तरीका।

कई pendingIntents बनाने के लिए आवश्यक एक अलार्म एप्लिकेशन मान लीजिए, और बाद में रद्द करने या उनमें से एक को संशोधित करने की जरूरत है। अनुरोध कोड का उपयोग यह पता लगाने के लिए किया जाता है कि किसको रद्द/संशोधित करना है।

पर डेटा पास करने के लिए, जैसा कि ऊपर वर्णित putExtra का उपयोग करें। ध्यान दें कि आप अनुरोध कोड और अतिरिक्त डेटा दोनों के लिए RowId का उपयोग करना चाहते हैं।