Android의 Kivy 앱에서 Python을 사용하여 이메일을 보내려면 몇 가지 방법을 시도해 봤습니다. 필자가 가장 가까이 온 것은 Plyer의 이메일 기능 (https://plyer.readthedocs.org/en/latest/#plyer.facades.Email)이지만 첨부 파일을 지원하는 것으로 보이지 않습니다.Android의 Kivy 앱에서 첨부 파일이있는 이메일을 보내십시오. 가능하면 이메일 클라이언트를 엽니 다.
내 앱에서 사용자의 이메일 클라이언트를 열고받는 사람, 제목, 본문 및 첨부 파일 필드를 채우는 것이 좋겠다. 첨부 파일은 내 응용 프로그램에서 생성하는 .csv 파일입니다.
누구든지이 작업을 수행하는 방법에 대한 제안이 있습니까? 첨부 파일을 포함하도록이 코드를 어떻게 수정할 수 있습니까?
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()