2011-10-18 17 views
5

विफल रहता है मैं अपने ऐप को एक विशेष फ़ाइल प्रकार (.stl) से जोड़ने के लिए संघर्ष कर रहा हूं। केविन से here की कोई सिफारिश नहीं है। फ़ाइल प्रबंधक से फ़ाइल लॉन्च करने का प्रयास करते समय, मेरा ऐप सुझाए गए विकल्पों में से एक नहीं है।एंड्रॉइड ऐप के साथ सहयोगी फ़ाइल प्रकार

उनके कोड है:

<activity name="com.mycompany.MyActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:mimeType="application/pdf" /> 
    </intent-filter> 
</activity> 

(सिवाय मैं पीडीएफ नहीं एसटीएल है)। मैंने इस विषय पर सभी भिन्नताओं को आजमाया है जो मैं पा सकता हूं।

सिस्टम अनजान लगता है कि मेरा ऐप इस तरह की फाइल खोलने के लिए उपलब्ध है। क्या मैं कुछ बेवकूफ कर रहा हूँ?

किसी भी सुझाव के लिए बहुत धन्यवाद।

संपादित करें:

मैं इस सवाल का जवाब है। असल में आपको यह बताने पड़ते हैं कि आप किसी पुरानी नकल की अनुमति दे रहे हैं और फ़ाइल एक्सटेंशन पर भरोसा कर रहे हैं। 'सही' mimetype (एप्लिकेशन/स्लै) का उपयोग करना काम नहीं किया। यह काम करता है:

<data android:scheme="file" 
     android:mimeType="*/*" 
     android:pathPattern=".*\\.stl" /> 

अब जब मैं खगोल में एक फ़ाइल मेरे ऐप है जो फ़ाइल के इस प्रकार खुल जाएगा के रूप में सुझाव दिया है का चयन करें।

उत्तर

1

मैं अपने ऐप को एक विशेष फ़ाइल प्रकार (.stl) से जोड़ने के लिए संघर्ष कर रहा हूं।

आम तौर पर, एंड्रॉइड प्रकार इंगित करने के लिए फ़ाइल एक्सटेंशन का उपयोग नहीं करता है। प्रकार इंगित करने के लिए एंड्रॉइड एमआईएमई प्रकार का उपयोग करता है।

फ़ाइल प्रबंधक से फ़ाइल लॉन्च करने का प्रयास करते समय, मेरा ऐप सुझाए गए विकल्पों में से एक नहीं है।

ठीक है, केवल गारंटी ठोस जवाब है:

चरण # 1: MIME प्रकार कि .stl फाइलों के साथ जुड़े रहे हैं निर्धारित

चरण # 2: अपने <activity> तत्व में है कि MIME प्रकार का उपयोग करें android:mimeType के लिए विशेषता

चरण # 3: प्रत्येक और हर फ़ाइल प्रबंधक लेखक बाध्य करें जब वे .stl फ़ाइलों का सामना करने के लिए अपने MIME प्रकार के लिए समर्थन को लागू करने के

चरण # 3, ज़ाहिर है, समस्या है।

एंड्रॉइड, जैसे आईओएस और अन्य ऑपरेटिंग सिस्टम, उपयोगकर्ता से "फाइलों" की अवधारणा को छिपाने के लिए सख्त कोशिश कर रहे हैं। यही कारण है कि एंड्रॉइड में कोई फ़ाइल मैनेजर नहीं बनाया गया है, क्यों कुछ डिवाइस एक को बंडल करते हैं, और ओएस में अवधारणा के लिए थोड़ा सा समर्थन क्यों है।

फ़ाइल एक्सटेंशन के आधार पर चीजों का समर्थन करने के लिए आपके <data> तत्व में <data android:scheme="file" android:pathPattern=".*\\.stl" /> का उपयोग करने का प्रयास करने के लिए आपका स्वागत है, हालांकि मुझे यकीन नहीं है कि यह अच्छी तरह से काम करता है या नहीं। आपको उस तत्व में की भी आवश्यकता हो सकती है - एंड्रॉइड स्वयं pathPattern का उपयोग file योजना के लिए नहीं करता है, और तीसरे पक्ष के कोड की जांच कर रहा हूं, दोनों तत्वों को तत्व दिखाता है। दोबारा, मुझे नहीं पता कि यह काम करता है या नहीं।

+0

धन्यवाद @ कॉमन्सवेयर, 'फाइल' के लिए एंड्रॉइड के दृष्टिकोण के बारे में उपयोगी जानकारी ... एक और जवाब में एक संस्करण है जो मुझे http स्रोतों से फ़ाइलों को सही तरीके से पकड़ने की अनुमति देता है, लेकिन अभी भी एस्ट्रो (फ़ाइल प्रबंधक) नहीं है। हालांकि, कुछ अन्य एसटीएल पाठकों ** ने ** ऐसा करने में कामयाब रहे हैं - जब उन्हें एक एसटीएल फ़ाइल चुना जाता है तो उन्हें पेश किया जाता है - इसलिए यह संभव होना चाहिए। मैं अभी भी जवाब खोज रहा हूं ... – Barry

+0

@Baz: कृपया मेरे उत्तर के अंतिम अनुच्छेद को दोबारा पढ़ें। – CommonsWare

+0

हां, क्षमा करें, इसका अनदेखा करने का मतलब नहीं था, मैंने बिना सफलता के उन पंक्तियों की कोशिश की थी, लेकिन मुझे जवाब मिल गया है! (नीचे)। – Barry

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