2016-11-15 10 views
9

के बजाय "संभाला गया" मेरा ऐप साझा ग्रंथों को संभालने वाला माना जाता है। उदाहरण के लिए अमेज़ॅन ऐप से यूआरएल। तो मैं अपने मुख्य गतिविधि के लिए निम्न आशय फिल्टर कहा: समस्या हैएंड्रॉइड इरादा कभी-कभी ACTION_SEND

 intent = getIntent(); 
     if(intent.getAction() != null) { 
      if (intent.getAction().equals(Intent.ACTION_SEND)) { 
       if (intent.getType().equals("text/plain")) { 
        onNavigationDrawerItemSelected(1); 
       } 
      } 
     } 

, कि कभी कभी: मेरी गतिविधि के अपने onCreate समारोह में

<intent-filter> 
     <action android:name="android.intent.action.SEND" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:mimeType="text/plain" /> 
    </intent-filter> 

, मैं इतना की तरह आशय प्रसंस्करण कर रहा हूँ एक साझाकरण कार्रवाई के बाद ऑनक्रेट फ़ंक्शन को कॉल नहीं किया जाता है। मैंने ऑनयूज विधि की जांच की, और वास्तव में यही कहा जाता है। समस्या यह है कि इरादों की कार्रवाई "ACTION_SEND" नहीं है, लेकिन packagename.handled है और इसमें आवश्यक जानकारी नहीं है।

वह क्यों है?

+0

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

उत्तर

7

यदि आपकी गतिविधि पहले से मौजूद है, Intent झंडे और <activity> विशेषताओं के आधार पर, मौजूदा गतिविधि उदाहरण का पुन: उपयोग किया जा सकता है। को Intent को मौजूदा गतिविधि उदाहरण में वितरित करने के लिए ओवरराइड करें जो इसे अग्रभूमि में वापस लाया जा रहा है। अपने ACTION_SEND मानों के लिए वहां देखें।

+0

मेरे मामले में, ऑन न्यूइन्टेंट() को या तो नहीं कहा जाता है। – Joshude

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