Jak wyświetlić obraz za pomocą zamiaru kompatybilności z różnymi aplikacjami

Próbuję udostępnić obraz, który wcześniej zapisałem na dysku, wysyłającIntent.ACTION_SEND. Problem polega na tym, że nie mogę znaleźć sposobu na kompatybilność z różnymi aplikacjami, oficjalną aplikacją Gmail i TweetDeck w moim przypadku.

Obraz, który chcę udostępnić, jest zawarty w aFile:

File agendaFile; 
// its path using getAbsolutePath() -> /data/data/com.mypackage/files/agenda.jpg
Opcja A) przy użyciu Uri.fromFile
Uri agendaUri = Uri.fromFile(agendaFile); 
// the value -> file:///data/data/com.mypackage/files/agenda.jpg
WynikiGmail, czy obraz jest przypisany do wiadomości e-mail?NIETweetdeck, czy obraz został dodany do wiadomości tweet?TAKOpcja B) przy użyciu Uri.parse
Uri agendaUri = Uri.parse(agendaFile.toURI().toString()); 
// the value -> file:/data/data/com.mypackage/files/agenda.jpg
WynikiGmail, czy obraz jest przypisany do wiadomości e-mail?TAKTweetdeck, czy obraz został dodany do wiadomości tweet?NIEWreszcie

W obu przypadkach wysyłam taki zamiar:

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"));

Czy są jakieś inne opcje udostępniania obrazu? Jak najlepiej udostępniać obraz zgodny z większością aplikacji?

Dzięki!

questionAnswers(4)

yourAnswerToTheQuestion