फ़ाइलों के लिए इरादा फ़िल्टर, हम "के माध्यम से साझा करें" मेनू में दिखना चाहते हैं। इसलिए हमने इस गतिविधि को हमारी गतिविधि में जोड़ा:हमारे ऐप में केवल
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
<data android:mimeType="video/*" />
</intent-filter>
यह काम करता है और हमारा ऐप शेयर मेनू में दिखाई देता है।
फिर भी, लक्ष्य फ़िल्टर वास्तव में ऐसा नहीं है कि हम क्या हासिल करना चाहते:
- हम सभी फ़ाइलों के लिए मेनू, जो कुछ भी वहाँ माइम प्रकार
- है हम केवल प्रकट करना चाहते हैं में दिखाना चाहते हैं फाइलों के लिए। और अब तक, यदि उपयोगकर्ता एक साधारण पाठ साझा करना चाहता है, क्योंकि इसका माइम प्रकार टेक्स्ट/सादा होगा, तो हमारा ऐप मेनू में दिखाई देता है और हम इसे नहीं चाहते हैं।
सभी फ़ाइलों के लिए और केवल फाइलों के लिए सही इरादा-फ़िल्टर क्या होगा?
अग्रिम धन्यवाद।
हम योजना = फ़ाइल और मेजबान = "" या "*" और यह काम नहीं करता के रूप में कई एप्लिकेशन एक योजना = सामग्री का उपयोग साझा करने के लिए फ़ाइल आधारित सामग्री जोड़ने की कोशिश की।
एक पुराने सवाल को लाने के लिए क्षमा करें, मुझे का उपयोग कर श्रेणी "android.intent.category.OPENABLE" करने की कोशिश की और काम करता है। यह क्रोम से वेबपृष्ठ साझा नहीं दिखाता है, यह सॉलिड एक्सप्लोरर से फ़ाइलों को साझा करना दिखाता है। क्या इसका उपयोग सुरक्षित है या यह योजनाओं के साथ बेहतर है? –
@ जॉर्जियो एरेशू, यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं। क्या आपने दोनों विकल्पों को आजमाया? – Snicolas
मैंने दोनों की कोशिश की। जवाबों में उल्लिखित योजनाओं के साथ, जब साझाकरण के दौरान _openable_ के साथ यह फ़ाइल फ़ाइल प्रबंधक से फ़ाइल साझा करने में काम करता है लेकिन ब्राउज़र से सादा पाठ साझा नहीं करता है, तो साझा करने के दौरान भी यह दिखाया नहीं जाता है। यह वही है जो मैं चाहता हूं: फाइलें (सभी माइम प्रकार) प्राप्त करें, केवल फाइलें (पाठ नहीं), जो आप अपने प्रश्न में वही चाहते थे।आगे के परीक्षण से पता चला है कि कुछ ऐप (फ़ोटोशॉप एक्सप्रेस, गैलरी) यूरी को सादे पाठ के रूप में साझा करते हैं या "छवि: 3710" जैसे प्रारूपों के साथ साझा करते हैं जो खुले वर्ग के साथ काम नहीं करते हैं। मैं इसे समझने की कोशिश कर रहा हूं ... –