Share-image mit Android intent
Ich werde versuchen, Ihnen ein Bild über den share-intent, wie diese:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("image/png");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, application.getString(R.string.app_name));
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,application.getString(R.string.app_share_message));
File image = new File(Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share).toString());
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(image));
shareMe(sharingIntent);
Die Aktie Absicht feuert richtig und ich wähle Gmail, läuft alles wie erwartet, bis ich den Button "senden" drücken. Ich erhalte eine Meldung "keine Karte Anhängen", und die e-mail gesendet wird, ohne es...
Warum?
Vielen Dank für Ihre Zeit.
- eine Anwendung kann nicht auf die lokale Ressource von einer anderen Anwendung" -- das ist völlig falsch. Ressourcen sind lesbar durch alle Anwendungen auf dem Gerät.
- Hilfe benötigen hier stackoverflow.com/questions/31847086/...
- was ist shareme hier
- möglich, Duplikat der Wie nutzen Sie "Share Bild mit" sharing Absicht zu teilen, Bilder in android?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, es gibt keine Garantie, dass eine beliebige andere app wird in der Lage sein, um eine
android:resource//
Uri
. Sie haben eine größere Kompatibilität zu teilen eine Datei auf einem externen Speicher oder über eineContentProvider
.Dass gesagt wird, ersetzen:
mit:
Einer
android:resource://
ist nicht einFile
, und wahrscheinlich haben Sie vermasselt IhrUri
mit der Umstellung auf eineFile
und dann wieder zu einemUri
.android:resource://
Uri
Werte. Verwenden Sie eine Datei oder einenContentProvider
.BitmapDrawable bitmapDrawable = (BitmapDrawable)Bildansicht.getDrawable();
Bitmap bitmap = bitmapDrawable.getBitmap();
In meinem Fall habe ich verwendet:
//öffnen einer Freigabe intent chooser (Wird zeigen, installiert die app aus, die ich teilen kann //Bilder)
private void shareImage(String imagePath, String quoteByPerson, String quoteToShare)
{