Ich habe ein paar Möglichkeiten versucht, eine E-Mail mit Python in der Kivy App auf Android zu senden. Der nächste, den ich komme, ist Plyers E-Mail-Funktion (https://plyer.readthedocs.org/en/latest/#plyer.facades.Email), aber es scheint nicht Anhänge zu unterstützen.Senden Sie E-Mail mit Anhang von Kivy App auf Android, vorzugsweise durch Öffnen von E-Mail-Client
Ich möchte, dass meine App den E-Mail-Client des Benutzers öffnet und die Felder recipient, find, body und attachment ausfüllt. Der Anhang wird eine .csv-Datei sein, die von meiner App generiert wird.
Hat jemand Vorschläge, wie man das macht? Wie kann ich diesen Code ändern, um Anhänge hinzuzufügen?
from jnius import autoclass, cast
from plyer.facades import Email
from plyer.platforms.android import activity
Intent = autoclass('android.content.Intent')
AndroidString = autoclass('java.lang.String')
class AndroidEmail(Email):
def _send(self, **kwargs):
intent = Intent(Intent.ACTION_SEND)
intent.setType('text/plain')
recipient = kwargs.get('recipient')
subject = kwargs.get('subject')
text = kwargs.get('text')
create_chooser = kwargs.get('create_chooser')
if recipient:
intent.putExtra(Intent.EXTRA_EMAIL, [recipient])
if subject:
android_subject = cast('java.lang.CharSequence',
AndroidString(subject))
intent.putExtra(Intent.EXTRA_SUBJECT, android_subject)
if text:
android_text = cast('java.lang.CharSequence',
AndroidString(text))
intent.putExtra(Intent.EXTRA_TEXT, android_text)
if create_chooser:
chooser_title = cast('java.lang.CharSequence',
AndroidString('Send message with:'))
activity.startActivity(Intent.createChooser(intent,
chooser_title))
else:
activity.startActivity(intent)
def instance():
return AndroidEmail()