filtro de intención para adjuntos de correo electrónico
-
09-10-2019 - |
Pregunta
Quiero abrir archivos adjuntos en los correos electrónicos de audio con mi aplicación. Actualmente mi filtro es la intención de esta manera:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="audio/wav" />
<data android:scheme="http" android:host="*" android:pathPattern=".*\\.wav"/>
<data android:scheme="https" android:host="*" android:pathPattern=".*\\.wav"/>
<data android:scheme="content" android:host="*" android:pathPattern=".*\\.wav"/>
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.wav"/>
</intent-filter>
Esto funciona para todo lo que yo quiero que a excepción de adjuntos de correo electrónico. Actualmente, si me envían un archivo wav, lo único que puedo hacer es una vista preliminar y que se abre con Winamp (aplicaciones tan claramente de 3 ª parte tienen una manera in). No puedo encontrar lo que debería ser la adición de hacer esto, sin embargo, ¿alguien tiene alguna idea?
Editar
Esto es lo que LogCat tiene que decir sobre el asunto. Cuando haga clic en Vista I get
01-10 19:28:52.691: INFO/ActivityManager(109): Starting: Intent { dat=content://gmail-ls/messages/xxxxxxx%40gmail.com/439/attachments/0.1/BEST/false cmp=com.google.android.gm/.ViewAttachmentActivity } from pid 19483
Lo que es extraño es que Winamp se abre automáticamente y no se establece como predeterminado. Me dan otra opción ...
Solución
clientes de correo electrónico parecen elegir los tipos MIME para archivos adjuntos de manera arbitraria, por lo que los filtros intención de abrirlos deben contemplar todas las posibilidades. la búsqueda en Internet ayuda a encontrar todos los tipos posibles y se debe añadir un filtro <data/>
para cada uno de ellos, si no se desea un comodín como audio/*
(como OP dice ).
De todos modos, el filtrado por tipo MIME se sugiere como primera opción distinto de la filtración por extensión de nombre de archivo (ver este hilo en android-dev ml).
(gracias fredley)
Otros consejos
Sustitución audio/wav
con audio/*
hace que funcione, sin embargo esto es, obviamente, un comportamiento no deseado.