Pregunta sobre android, android-intent, uri, image – Intentando proporcionar una imagen para las aplicaciones que llaman la intención GET_CONTET

3

Estoy buscando una solución durante bastante tiempo y me siento cada vez más frustrado.

Quiero que mi aplicación pueda proporcionar contenido para otras aplicaciones. Por ejemplo: Al utilizar la aplicación GoogleMail, puede agregar un archivo adjunto. Se abrirá un cuadro de diálogo que muestra todas las aplicaciones que pueden proporcionar un archivo para el archivo adjunto. Mi aplicación ya está en el cuadro de diálogo, porque definí una actividad con un filtro de intento como este:

<code>    <intent-filter >
            <action android:name="android.intent.action.GET_CONTENT" />
            <action android:name="android.intent.action.PICK" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.OPENABLE" />
            <data android:mimeType="image/*" />
        </intent-filter>
</code>

Así que cuando escoges mi aplicación, está empezando la actividad. La actividad permite al usuario seleccionar una foto y escribirla en la tarjeta SD. Hasta ahora tan bueno. ¿Pero cómo lo devuelvo correctamente? Porque el archivo adjunto en GoogleMail nunca se realiza. Lo estoy devolviendo de esta manera:

<code>if(file!=null)
{
  Intent resultIntent=new Intent();
  resultIntent.setType("image/jpg");  

  Uri uri=Uri.fromFile(file);

  //uri=Uri.parse(uri.toString().replace("file", "content"));
  resultIntent.putExtra(Intent.EXTRA_STREAM, uri); 
  resultIntent.putExtra(Intent.EXTRA_UID, uri); 
  resultIntent.setData(uri);
  setResult(RESULT_OK, resultIntent);
  finish();
}
</code>

Estaría muy feliz si alguien pudiera ayudarme. Creo que es una cosa simple que estoy haciendo mal, pero no puedo encontrar nada que me ayude. :(

Atentamente

¿Encontraste una solución que funcione? Estoy atascado en el mismo punto.resultIntent.putExtra(Intent.EXTRA_STREAM, uri); resultIntent.putExtra(Intent.EXTRA_UID, uri);  No funcionó para mí. Pero, aunque vea el archivo adjunto en Gmail, no lo enviará. philipp

Tu respuesta

1   la respuesta
1

Probablemente necesites implementar un proveedor de transmisión. Realmente no hay ninguna buena guía por ahí, peroesta es lo mas cercano que pude encontrar.

Preguntas relacionadas