2012-11-17 17 views
9

के साथ जीमेल अटैचमेंट खोलना मुझे अपने ऐप का उपयोग करके कस्टम एक्सटेंशन के साथ फाइलें खोलने की जरूरत है। जब मैं अपने एसडी कार्ड में फ़ाइल करता हूं तो मैं इरादा फ़िल्टर का उपयोग करके ऐसा करने में सक्षम हूं। अगर फ़ाइल जीमेल अटैचमेंट के रूप में भेजी जाती है तो मैं 'डाउनलोड' और 'पूर्वावलोकन' बटन भी देख सकता हूं। हालांकि, जब मैंने डाउनलोड/पूर्वावलोकन बटन पर क्लिक किया, तो मुझे संदेश मिला - "क्षमा करें, अनुलग्नक डाउनलोड नहीं किया जा सका"एंड्रॉइड - मेरे ऐप

मैंने सोचा कि यह मेरे ऐप के साथ एक मुद्दा था। लेकिन मेरे पास एक यादृच्छिक विचार था और मेरे फोन पर "सभी फ़ाइलें डाउनलोड करें" ऐप इंस्टॉल किया गया था। https://play.google.com/store/apps/details?id=com.hwkrbbt.downloadall&hl=en फिर, जब मैं जीमेल में डाउनलोड बटन पर क्लिक करता हूं, तो फाइल डाउनलोड करने के लिए सभी फाइलें और माई ऐप डाउनलोड करें। मैंने अपना ऐप चुना, और सब कुछ ठीक काम करता है !!

क्या यह कुछ सुरक्षा समस्या है? ये मेरी आशय फिल्टर कर रहे हैं:

<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="*/*" /> 
     <data android:scheme="content" android:host="*" 
      android:pathPattern=".*\\.ate" /> 
     <data android:scheme="file" android:host="*" 
      android:pathPattern=".*\\.ate" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:mimeType="application/*" host="*" android:pathPattern=".*.ate" android:scheme="content" /> 
    </intent-filter> 

संपादित करें: यहाँ पूर्ण गतिविधि टैग है।

<activity android:name=".TestApp" 
       android:label="@string/app_name" 
       android:configChanges="orientation|keyboardHidden" 
       android:launchMode="singleTask"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="com.TestApp.TestApp.NOTIFICATION" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
     <!-- Opening .ate file start --> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="file" /> 
      <data android:host="*" /> 
      <data android:pathPattern=".*\\.ate" /> 
      </intent-filter> 
    <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="*/*" /> 
     <data android:scheme="content" android:host="*" 
      android:pathPattern=".*\\.ate" /> 
     <data android:scheme="file" android:host="*" 
      android:pathPattern=".*\\.ate" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <category android:name="android.intent.category.BROWSABLE"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <data android:scheme="file" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/> 
     <data android:scheme="content" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/> 
     </intent-filter> 
     <!-- Opening .ate file end --> 
    </activity> 
+0

आप की कोशिश की है ** Android आवश्यक है, माइम प्रकार आवेदन के साथ? –

उत्तर

9

मैं इसे बाहर अपने आप को लगा, तो मैं समाधान पोस्टिंग कर रहा हूँ, अगर किसी और मुठभेड़ों में इस अजीब समस्या। मेजबान = "gmail-ls" **:

लक्ष्य फ़िल्टर दोनों सामग्री और फ़ाइल योजना प्रकार/Octetstream

<intent-filter> 
<action android:name="android.intent.action.VIEW"/> 
<category android:name="android.intent.category.BROWSABLE"/> 
<category android:name="android.intent.category.DEFAULT"/> 
<data android:scheme="file" android:pathPattern=".*\\.inform" android:mimeType="application/octet-stream"/> 
<data android:scheme="content" android:pathPattern=".*\\.inform" android:mimeType="application/octet-stream"/> 

+0

हाय ब्लू, क्या आप कृपया पूरा टैग साझा कर सकते हैं? – Giuseppe

+0

हाय जिएसेपे, कृपया मेरा प्रश्न जांचें। मैंने एक संपादन जोड़ा है। – Manju

+3

मैंने इस समाधान की कोशिश की है और यह काम करता है, लेकिन यह भ्रामक है क्योंकि 'pathPattern' को अनदेखा कर दिया जाएगा। 'PathPattern' विशेषता को अनदेखा किया जाता है जब तक फ़िल्टर के लिए निर्दिष्ट 'स्कीम' और 'होस्ट' विशेषता नहीं होती है (आपके उत्तर में 'होस्ट' विशेषता अनुपलब्ध है)। 'PathPattern' विशेषता के लिए [प्रलेखन] (http://developer.android.com/guide/topics/manifest/data-element.html) देखें। मैंने इसे अभ्यास में भी देखा है। इरादा फ़िल्टर किसी भी अनुलग्नक को संभाल लेगा, न केवल निर्दिष्ट फ़ाइल एक्सटेंशन के साथ अनुलग्नक। –

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