2016-08-29 1 views
1

Je crée un filtre d'intention pour une extension spécifique (.infi) pour mon application. Il fonctionne correctement avec l'explorateur de fichiers ES & Explorateur solide. Cependant, quand j'ouvre le fichier avec l'explorateur de fichiers par défaut de Samsung (Device Galaxy Tab S2) il montre un étrange message "Aucune application pour effectuer cette action", sur un autre périphérique (Note 4) il essaie d'ouvrir le fichier avec Adobe Reader avec une erreur message. Voici mon code du fichier des manifestes:Comportement anormal du filtre d'intention avec le navigateur de fichiers samsung

<activity android:name=".ImportCollections"> 
     <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:mimeType="*/*" /> 
      <data android:pathPattern=".*\\.infi" /> 
     </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="http" /> 
      <data android:host="*" /> 
      <data android:mimeType="*/*" /> 
      <data android:pathPattern=".*\\.infi" /> 
     </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="content" /> 
      <data android:mimeType="application/octet-stream" /> 
      <data android:pathPattern=".*\\.infi" /> 
      <data android:host="gmail-ls" /> 
     </intent-filter> 


    </activity> 
+0

Avez-vous essayé d'ajouter ** **? –

Répondre

-1

Pour de futures références, j'ai cherché une autre application open source implémentant correctement cette fonctionnalité. Ces gars-là font un excellent travail:

https://github.com/ankidroid/Anki-Android/blob/develop/AnkiDroid/src/main/AndroidManifest.xml

Voici mon code qui a travaillé (il suffit de remplacer "infi" avec votre extention personnalisé)

<activity 
     android:name=".ImportCollections" 
     android:launchMode="singleTask" 
     android:parentActivityName=".ManageCollections"> 
     <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:host="*" 
       android:mimeType="*/*" 
       android:pathPattern=".*\\.infi" 
       android:scheme="http" /> 
      <data 
       android:host="*" 
       android:mimeType="*/*" 
       android:pathPattern=".*\\.infi" 
       android:scheme="https" /> 
      <data 
       android:host="*" 
       android:mimeType="*/*" 
       android:pathPattern=".*\\.infi" 
       android:scheme="content" /> 
      <data 
       android:host="*" 
       android:mimeType="*/*" 
       android:pathPattern=".*\\.infi" 
       android:scheme="file" /> 
     </intent-filter> 
     <!-- MIME type matcher for .infi files coming from providers like gmail which hide the file extension --> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="application/infi" /> 
      <data android:mimeType="application/x-infi" /> 
      <data 
       android:mimeType="application/octet-stream" 
       android:scheme="content" /> 
      <data 
       android:mimeType="application/zip" 
       android:scheme="content" /> 
     </intent-filter> 
    </activity> 
+1

Bonjour, avez-vous créé Samsung My Files pour ouvrir votre application? Savez-vous où est la prise? Mon application est ouverte depuis les navigateurs et autres gestionnaires de fichiers, mais pas depuis Samsung My Files. –

+1

Le repo est parti, pourriez-vous préciser comment vous avez réglé cela? – kulhajs

+0

J'ai édité la réponse avec mon code. – Bialy