So zeigen Sie ein Bild mit einer Absicht, die mit verschiedenen Apps kompatibel ist

Ich versuche ein Bild, das ich zuvor auf der Festplatte gespeichert habe, freizugeben und sende einIntent.ACTION_SEND. Das Problem ist, dass ich in meinem Fall keine Möglichkeit finde, mit verschiedenen Apps, der offiziellen Google Mail-App und TweetDeck kompatibel zu sein.

Das Bild, das ich freigeben möchte, ist in a enthaltenFile:

File agendaFile; 
// its path using getAbsolutePath() -> /data/data/com.mypackage/files/agenda.jpg
Option A) Verwenden von Uri.fromFile
Uri agendaUri = Uri.fromFile(agendaFile); 
// the value -> file:///data/data/com.mypackage/files/agenda.jpg
ErgebnisseGoogle Mail, ist das Bild der E-Mail zugeordnet?NEINTweetdeck, wird das Bild der Tweet-Nachricht hinzugefügt?JAOption B) mit Uri.parse
Uri agendaUri = Uri.parse(agendaFile.toURI().toString()); 
// the value -> file:/data/data/com.mypackage/files/agenda.jpg
ErgebnisseGoogle Mail, ist das Bild der E-Mail zugeordnet?JATweetdeck, wird das Bild der Tweet-Nachricht hinzugefügt?NEINEndlich

In beiden Fällen sende ich die Absicht so:

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

Gibt es also andere Möglichkeiten, ein Bild freizugeben? Wie kann ein Bild am besten freigegeben werden, wenn es mit den meisten Apps kompatibel ist?

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage