Gmail Zugriff auf den Anhang verweigert (Automatisches Hinzufügen)

U

Userin94

Neues Mitglied
0
Hallo Leute,

ich habe eine PDF erstellt und bereits den Empfänger, den Betreff und die Textnachricht so eingefügt, dass diese automatisch beim Klicken auf einen Button in der Gmail App dargestellt werden. Jetzt versuche ich auch automatisch beim Klick auf den Button zusätzlich einen Anhang mitzugeben, leider erhalte ich ständig die Fehlermeldung "Zugriff verweigert" (Manuell kann ich die PDF problems einfügen)

Hier ist mein Code. Kann mir jemand helfen?
LG

MyPdfCreator.createPdf(MyPdfCreator.filepath, MyPdfCreator.FILE_FOLDER, paragraphList);

if (v == forward) {
try {

final Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Meine Nachricht");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[]{email});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
subject);
emailIntent.setType("application/pdf");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "From My App");
emailIntent .putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///data/data/com.example.dd.test/cache/Test.pdf"));
emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

if (URI != null) {
emailIntent.putExtra(Intent.EXTRA_STREAM, URI);
}
emailIntent
.putExtra(android.content.Intent.EXTRA_TEXT, message);
this.startActivity(Intent.createChooser(emailIntent,
"Sending email..."));

} catch (Throwable t) {
Toast.makeText(this,
"Request failed try again: " + t.toString(),
Toast.LENGTH_LONG).show();
}
}

}
}
 
Hallo Userin,

dein Problem hast du erklärt , aber leider vergessen uns mitzuteilen, wer und wo dir die Meldung ausgegeben wird.
Kommt das im catch ?? Berechtigungen alle vergeben ??
 
  • Danke
Reaktionen: Userin94
@swa00
Die Meldung erscheint als Toast, sobald ich auf den Button klicke und sich Gmail öffnet.(Also auf dem Gmail Screen von Gmail selbst)
 
Hallo User,

Ich hatte mich beim Lesen von deinem Thread schon gefragt , ob das überhaupt geht
und ich wurde ein wenig bestätigt.

Dein Vorhaben geht auf die neuen Versionen von GMail nicht mehr.
Ein work-Around könnte ggf ein Activity-Result sein.
Gmail 5.0 app fails with "Permission denied for the attachment" when it receives ACTION_SEND intent

Grund : Du greiffst im Prinzip in eine App ein und mit zunehmenden Versionen wird das aus sicherheitsgründen
einfach zugemacht.
Auch wenn du es jetzt zum Laufen bekommst , bist du dir bei der nächsten Version nicht mehr sicher

Ausserdem macht man das am Besten direkt über SMTP .
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Userin94
@swa00

Danke für die Antwort. Ich hab den Link gelesen, aber nicht ganz verstanden. Also ich habe es mit ActivityForResult ausprobiert,aber bin mir nicht sicher, ob ich es richtig gemacht habe, da es sowieso nicht funktioniert hat.
Das hier ist ein Projekt für die Uni, daher sind die nächsten Versionen nicht so wichtig. Hast du vielleicht eine einfache Lösung, die ich umsetzen könnte?

Ich habe gemacht:
this.startActivityForResult(emailIntent, 0); und es hat nicht funktioniert.
 
Hast du vielleicht eine einfache Lösung, die ich umsetzen könnte

Im Artikel steht ja , welche Version es noch zulässt , versuche die mal irgendwo her zu bekommen,

Oder bastel einfach ein schönes Sende-Layout in deine App, implementiere dir eine SMTP Bibliothek ( gibt es zu genügend auf Github)
und juut iss
 
  • Danke
Reaktionen: Userin94
@swa00

Das probiere ich mal aus. Ich danke dir.
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
114
swa00
swa00
Laser5001
  • Laser5001
Antworten
2
Aufrufe
897
Laser5001
Laser5001
B
Antworten
4
Aufrufe
470
bb321
B
Zurück
Oben Unten