Share Intent von einem Bild

C

CoffeeCode

Ambitioniertes Mitglied
2
Ich habe eine statische Funktion die ich aufrufe wenn in der Actionbar der Share Button betätigt wurde.

Leider funktioniert dieses nur mit dem Imigur App alle anderen Anwendungen starten erst gar nicht oder melden, dass das Bild nicht existiert.

Der Pfad zu dem Bild ist korrekt, denn mit genau diesem wird es über ein ImageView angezeigt.

Jemand eine Idee woran es leigen könnte?

Code:
public static void shareImage(Context context, String imagePath){

        Uri uri = Uri.parse(imagePath);

        Log.d(TAG, "shareImage imagePath: " + imagePath + " URI: " + uri.toString());

        Intent shareIntent = new Intent();
        shareIntent.setType("image/jpeg");
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
        context.startActivity(Intent.createChooser(shareIntent, context.getResources().getText(R.string.action_share)));
    }

LOG.D gibt folgendes aus:

Code:
10-09 13:19:29.345  25072-25072/com.ap.wificam D/MediaManager shareImage imagePath: /storage/emulated/0/DCIM/WIFIAPP/1/IMGP1847.jpg URI: /storage/emulated/0/DCIM/WIFIAPP/1/IMGP1847.jpg
 
Hä, WAS?!
Wird dein Chooser denn geöffnet?!
Oder was meinst du mit "es funktioniert nur mit der imgur app"?!

Der ursprüngliche Beitrag von 13:43 Uhr wurde um 13:45 Uhr ergänzt:

Btw. würde ich als Type
"image/*"
setzten. Dann bist du nicht mit dem jpeg so eingeschränkt!

Gruß
 
ja, der chooser öffnet sich. Wähle ich zum Beispiel Flickr, sehe ich das die Flickr app sich Öffnet aber sofort wieder schließt. OneDrive gibt die Meldung: "The selected items could not be uploaded to OneDrive"

Es scheint so als ob die Anwendungen das Bild nicht finden. Die Datei befindet sich jedoch an dieser Stelle.

Könnte es vielleicht an dem Pfad liegen?
/storage/emulated/0/DCIM/
über ES FILE Manager kann ich auch über den Pfad /sdcard/DCIM zugreifen.

Edit:
Wenn ich ein File Objekt erstelle und aus diesem den canonical File Path mir nehme kommt der gleiche Pfad wie zuvor raus:

canonicalPath = new File(imagePath).getCanonicalPath();

Canonical File Path:/storage/emulated/0/DCIM/WIFIAPP/1/IMGP1847.jpg

Der ursprüngliche Beitrag von 13:57 Uhr wurde um 14:14 Uhr ergänzt:

Lösung zu dem Problem: Die URI nicht über

Uri uri = Uri.parse(imagePath);

erstellen sondern hierüber erstellen: image - Get content uri from file path in android - Stack Overflow
 
Zuletzt bearbeitet:

Ähnliche Themen

B
Antworten
6
Aufrufe
1.051
jogimuc
J
S
Antworten
17
Aufrufe
554
jogimuc
J
Zurück
Oben Unten