2014-05-18 8 views
11

क्या मुझे PendingIntent से मिल सकता है?लंबित इन्टेंट से इरादा कैसे प्राप्त करें

यहाँ परिदृश्य है: मैं एक Intent

  • मैं एक स्ट्रिंग के साथ कुछ अतिरिक्त जानकारी डाल (यह myIntent कॉल) (इसे कहते myInfo)
  • बनाने मैं बनाने

    1. एक PendingIntent (myPendingIntent) myIntent
    2. मैंने AlarmManager और myPendingIntent
    3. का उपयोग करके अलार्म सेट किया
    4. बाद के चरण मैं PendingIntent की पकड़ पाने के उस बिंदु मैं myIntent से myInfo पढ़ना चाहते हैं जो myPendingIntent

    में है यह संभव है पर PendingIntent.getBroadcast

  • का उपयोग कर में? Google के चारों ओर देखकर, मैं इस निष्कर्ष के करीब आ रहा हूं कि यह संभव नहीं है।

  • उत्तर

    11

    क्या यह संभव है?

    नहीं। PendingIntent एक लेखन-केवल इंटरफ़ेस है। आप Intent को प्रतिस्थापित कर सकते हैं, लेकिन आप इसे पढ़ नहीं सकते हैं।

    +0

    ऐसा लगता है कि यदि आप वर्तमान में 'लंबितइन्टेंट.getService' (या शायद' .getBroadcast') को उसी 'requestCode' के साथ' कहते हैं तो आप आशय (मूल रूप से इसके साथ संग्रहीत एक्स्ट्रा को पुनर्प्राप्त कर सकते हैं) प्राप्त कर सकते हैं। मूल और * नहीं * झंडे, और फिर तुरंत तुरंत 'भेजें') स्वयं को मंशा। क्या कोई कारण है कि किसी को इस विधि का उपयोग नहीं करना चाहिए (क्या यह सभी एंड्रॉइड संस्करणों में विश्वसनीय है)? – Michael

    +0

    @ माइकल: मैंने इसका उपयोग नहीं किया है और इसका उपयोग नहीं करेंगे, और इसलिए मैं इसकी विश्वसनीयता पर टिप्पणी नहीं कर सकता। वाकई, मैं यह जानकर निराश था कि यह संभव है। – CommonsWare

    +0

    ठीक है। निराश क्यों? – Michael

    3

    प्रतिबिंब का उपयोग करके 4.2.2 के बाद से यह संभव है। answer पर एक नज़र डालें, PendingIntent से Intent प्राप्त करने का पूरा समाधान है।

    +0

    यदि आप इरादे से एक पारदर्शी बंडल आज़माते हैं और प्राप्त करते हैं तो यह समाधान विफल हो जाएगा। –

    +0

    एंड्रॉइड के नए संस्करणों पर, प्रतिबिंब का उपयोग करके इरादा प्राप्त करना अब संभव नहीं है। Https://stackoverflow.com/q/42401911/324625 देखें –

    संबंधित मुद्दे