2011-03-17 18 views
20

मैं यह जानना चाहता हूं कि एंड्रॉइड में कौन सी गतिविधि ने मेरी गतिविधि शुरू की है। मैं उस उद्देश्य को प्राप्त कर सकता हूं जिसने "getIntent()" का उपयोग करके गतिविधि शुरू की है, लेकिन मैं यह पता लगाने में सक्षम नहीं हूं कि किस गतिविधि ने पहले स्थान पर इरादा शुरू किया था।पता लगाएं कि किस गतिविधि ने मेरी गतिविधि शुरू की?

आपकी सहायता के लिए तत्पर हैं। अग्रिम में धन्यवाद।

+0

मुझे लगता है कि आपको अपनी गतिविधि को खोलने के लिए हर जगह में अतिरिक्त स्ट्रिंग रखना होगा और इस अतिरिक्त स्ट्रिंग में आप अपना गतिविधि नाम पार कर सकते हैं और उस गतिविधि में जिसमें आप अतिरिक्त से अतिरिक्त प्राप्त कर रहे हैं, आप यह अतिरिक्त जांच सकते हैं स्ट्रिंग और निर्धारित कर सकते हैं कि किस उद्देश्य ने आपकी गतिविधि को बताया है। –

उत्तर

24

उपयोग getCallingActivity()

नोट: अगर बुला गतिविधि (जो है यह startActivityForResult(Intent, int) रूप है कि एक अनुरोध कोड भी शामिल है का उपयोग नहीं किया) एक परिणाम की उम्मीद नहीं कर रहा है, तो बुला पैकेज अशक्त हो जाएगा

+18

यह काम करेगा अगर वर्तमान गतिविधि startActivityForResult (इरादा, int) का उपयोग करके कहा गया था, अन्यथा यह शून्य –

3

इस उद्देश्य के लिए आप AppCompat.getReferrer() का उपयोग कर सकते हैं।

+0

वापस लौटाएगा यह किसी अन्य एप्लिकेशन से किसी इरादे से शुरू की गई गतिविधियों के लिए भी काम करता है –

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