2010-11-05 11 views
5

मैंने इरादे-फ़िल्टर प्रलेखन को देखा है और मैं इस विशिष्ट इरादे-फ़िल्टर को नहीं समझ सकता।यूआरएल साझा करते समय केवल शेयर मेनू में ऐप दिखाने से इरादा-फ़िल्टर क्या होता है?

मैं ACTION_SEND का उपयोग करना चाहता हूं क्योंकि मैं केवल ऐप को अन्य ऐप्स में "शेयर" मेनू में दिखाना चाहता हूं। इरादे का पाठ एक यूआरएल है, तो मैं केवल शेयर मेनू में दिखाना चाहता हूं। उदाहरण के लिए, एंड्रॉइड ब्राउज़र के शेयर मेनू से क्या साझा किया जाता है। मैं नहीं चाहता कि ऐप शेयर मेनू में दिखाई दे, अगर यह सिर्फ टेक्स्ट है और यूआरएल नहीं है।

क्या मैं अब तक है:

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

बहरहाल, यह किसी भी पाठ प्राप्त होगा, बस यूआरएल नहीं।

धन्यवाद

उत्तर

1

आप प्रोग्राम के रूप में IntentFilter वस्तुओं बना सकते हैं, और वे अन्य बातों के अलावा यूआरआई स्कीमा पर फ़िल्टर कर सकते हैं ... और अधिक नियंत्रण।

मैंने सोचा था कि उप-वर्गीकरण IntentFilter आपको अधिक घटना देगा, लेकिन उन्होंने final पर "मिलान" पर सभी बदलाव किए हैं ताकि आप उन्हें सबक्लास में ओवरराइड नहीं कर सकें। बाह!

Eurika!

आप एक डेटा "योजना" के बजाय एक माइम प्रकार निर्दिष्ट कर सकते हैं। बस "http" और "https" के लिए पूछें (अलग इरादे फ़िल्टर में?)।

<intent-filter> 
    ... 
    <data android:scheme="http"/> 
</intent-filter> 
+0

धन्यवाद, मैं इसे देख लूंगा। यदि मैं इसे प्रोग्रामेटिक रूप से बनाउंगा तो यह तब भी काम करेगा जब ऐप नहीं चल रहा है? – cottonBallPaws

+0

मैंने उस लिंक को देखा और यह सुनिश्चित नहीं किया कि यह IntentFilter को उपclass करने के लिए कैसे काम करेगा। क्या आपके पास कोई लिंक हैं जो कुछ उदाहरण देते हैं? एक बार फिर धन्यवाद। – cottonBallPaws

+0

असल में, मेरे पास सबसे मज़ेदार विचार नहीं है ... और "मैच" को फिर से लिखने की क्षमता के बिना मुझे यकीन नहीं है कि ऐसा करने का एक बिंदु है। इसके अलावा आप सभी उपलब्ध विशेषताओं को मैनिफेस्ट के माध्यम से सेट करने में सक्षम होना चाहिए, इसलिए मुझे पूरा यकीन नहीं है कि मेरा सुझाव सभी सहायक है। –

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

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