Cómo mostrar una imagen a través de un intento de ser compatible con diferentes aplicaciones.
Estoy tratando de compartir una imagen que he guardado previamente en el disco, enviando unaIntent.ACTION_SEND
. El problema es que no puedo encontrar una manera de ser compatible con diferentes aplicaciones, la aplicación oficial de Gmail y TweetDeck en mi caso.
La imagen que quiero compartir está contenida en unFile
:
File agendaFile;
// its path using getAbsolutePath() -> /data/data/com.mypackage/files/agenda.jpg
Opción A) usando Uri.fromFileUri agendaUri = Uri.fromFile(agendaFile);
// the value -> file:///data/data/com.mypackage/files/agenda.jpg
ResultadosGmail, ¿está la imagen adjunta al correo electrónico?NOTweetdeck, ¿se ha agregado la imagen al mensaje de tweet?SÍOpción B) utilizando Uri.parseUri agendaUri = Uri.parse(agendaFile.toURI().toString());
// the value -> file:/data/data/com.mypackage/files/agenda.jpg
ResultadosGmail, ¿está la imagen adjunta al correo electrónico?SÍTweetdeck, ¿se ha agregado la imagen al mensaje de tweet?NOFinalmenteEn ambos casos envío la intención así:
final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("image/jpg");
intent.putExtra(android.content.Intent.EXTRA_STREAM, agendaUri);
startActivity(Intent.createChooser(intent, "title"));
Entonces, ¿hay alguna otra opción para compartir una imagen? ¿Cómo es la mejor manera de compartir una imagen que sea compatible con la mayoría de las aplicaciones?
¡Gracias!