Android-Freigabe-Image funktioniert nicht

7

Ich versuche, einen Screenshot der Anwendung mit dem folgenden Code zu teilen:

%Vor%

Logcat:

%Vor%

Das Problem: Wenn ich versuche, mit Google Mail zu teilen, wird Google Mail geschlossen. Wenn ich versuche, Facebook mitzuteilen, lehnt Facebook den Beitrag stillschweigend ab. Messaging bringt den Messenger, ist aber leer. Die Freigabe funktioniert, ohne das Bild hinzuzufügen.

    
buczek 10.10.2013, 21:19
quelle

3 Antworten

17

Verwenden Sie als Erstes niemals die Verkettung, um Dateipfade zu erstellen, geschweige denn Uri -Werte.

Zweitens sollte EXTRA_STREAM eine Uri enthalten, nicht eine String .

Drittens, da Sie den richtigen MIME-Typ ( image/png ) kennen, verwenden Sie ihn anstelle eines Platzhalters.

Viertens, baue niemals den gleichen Pfad zweimal. Hier erstellen Sie File image auf die richtige Weise und ignorieren diesen Wert.

Lassen Sie also die String url -Zeile aus, ersetzen Sie image/* durch image/png und ändern Sie:

%Vor%

zu sein:

%Vor%     
CommonsWare 10.10.2013, 21:27
quelle
1

Ziehen Sie auch die Verwendung der Klasse android.support.v4.content.FileProvider in Betracht, um Ihre Datei mit einem Inhalts-URI anstelle eines Datei-URIs zu teilen. Es ist sicherer. Weitere Informationen finden Sie in der Referenzdokumentation für FileProvider

    
Joe Malin 11.10.2013 01:11
quelle
1

Sie müssen die Inhalts-URI ständig weitergeben (zumindest in Android 5.1 und höher). Hier erfahren Sie, wie Sie einen Inhaltspfad aus einer Bitmap erhalten:

%Vor%

Und dann teilen:

%Vor%     
RelativeGames 14.10.2015 09:30
quelle