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

  • 6 Antworten
  • Neuester Beitrag
Diskutiere Gmail Zugriff auf den Anhang verweigert (Automatisches Hinzufügen) im Android App Entwicklung im Bereich Betriebssysteme & Apps.
U

Userin94

Neues Mitglied
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();
}
}

}
}
 
swa00

swa00

Moderator
Teammitglied
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 ??
 
U

Userin94

Neues Mitglied
@swa00
Die Meldung erscheint als Toast, sobald ich auf den Button klicke und sich Gmail öffnet.(Also auf dem Gmail Screen von Gmail selbst)
 
swa00

swa00

Moderator
Teammitglied
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:
U

Userin94

Neues Mitglied
@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.
 
swa00

swa00

Moderator
Teammitglied
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
 
U

Userin94

Neues Mitglied
@swa00

Das probiere ich mal aus. Ich danke dir.