Ho bisogno di aprire file con estensione personalizzata usando la mia app. Sono in grado di farlo usando i filtri Intent quando il file è nella mia scheda SD. Posso anche visualizzare i pulsanti "download" e "anteprima" se il file viene inviato come allegato Gmail. Tuttavia, quando ho fatto clic sui pulsanti di download/anteprima, ho ricevuto il messaggio - "Mi dispiace, non è stato possibile scaricare l'allegato".Android - Apertura dell'allegato gmail con la mia app
Ho pensato che questo fosse un problema con la mia app. Ma ho avuto un'idea casuale e ho installato l'app "Download All Files" sul mio telefono. https://play.google.com/store/apps/details?id=com.hwkrbbt.downloadall&hl=en Quindi, quando faccio clic sul pulsante di download in Gmail, vengono proposti sia il download di tutti i file che la mia app per il download del file. Ho scelto la mia app e tutto funziona bene !!
Si tratta di un problema di sicurezza? Questi sono i miei Filtri Intent:
<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>
EDIT: Ecco il tag piena attività.
<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>
Hai provato ** Android: host = "Gmail-ls" **? –