2014-11-05 3 views
5

खोलकर मैंने एंड्रॉइड पर किवी ऐप में पायथन का उपयोग करके ईमेल भेजने के कुछ तरीकों का प्रयास किया है। सबसे नज़दीक मैं आया हूं प्लीयर के ईमेल फ़ंक्शन (https://plyer.readthedocs.org/en/latest/#plyer.facades.Email) का उपयोग कर रहा है, हालांकि यह अनुलग्नकों का समर्थन नहीं करता है।एंड्रॉइड पर किवी ऐप से अटैचमेंट के साथ ईमेल भेजें, अधिमानतः ईमेल क्लाइंट

मैं क्या चाहता हूं कि मेरा ऐप उपयोगकर्ता के ईमेल क्लाइंट को खोलें और प्राप्तकर्ता, विषय, शरीर और अनुलग्नक फ़ील्ड को पॉप्युलेट करें। अनुलग्नक मेरे ऐप द्वारा उत्पन्न एक .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() 

उत्तर

1

बड़े android module एक फ़ाइल नाम पारित करने के लिए समर्थन हासिल है। आप सीधे इसका उपयोग कर सकते हैं, या एंड्रॉइड एपीआई के प्रासंगिक हिस्सों को कॉल करके सुविधा को प्लीयर में जोड़ सकते हैं। मैं बिल्कुल याद नहीं करता कि आप ऐसा कैसे करते हैं।

संबंधित मुद्दे