2014-12-17 15 views
5

मैं इसके लिए नया हूं लेकिन कोडिंग के मेरे स्निपेट में क्या गलत है? मुझे त्रुटि मिल रही है: जब मैं लिंक का चयन करता हूं तो 'यह क्रिया वर्तमान में समर्थित नहीं है'। मेरा कोड यहां है:मेलटो एंड्रॉइड: 'असमर्थित कार्रवाई' त्रुटि

public void addEmail() { 

    TextView txt = (TextView) findViewById(R.id.emailtext); 

    txt.setOnClickListener(new View.OnClickListener(){ 


     public void onClick(View v){ 
      Intent intent = new Intent(); 
      String uriText = 
        "mailto:[email protected]" + 
        "?subject=" + URLEncoder.encode("some subject text here") + 
        "&body=" + URLEncoder.encode("some text here"); 

       Uri uri = Uri.parse(uriText); 

       Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
       sendIntent.setData(uri); 
       startActivity(Intent.createChooser(sendIntent, "Send email")); 

    }}); 

} 

बहुत धन्यवाद!

+0

@see https://stackoverflow.com/questions/2197741/how-can-i-send-emails-from-:

आप इस कोड का उपयोग आशय शुरू करने के लिए प्रयास करने से पहले यह पता लगा सकते हैं my-android-application – shkschneider

+0

@shkschneider, यह त्रुटि को कैसे संबोधित करता है? – Sam

+0

जब मैंने एंड्रॉइड ईमेल क्लाइंट में अभी तक एक ईमेल खाता सेट नहीं किया था, तो मैंने एंड्रॉइड 4.0.2 एमुलेटर में इसमें भाग लिया था। ग्राहक में एक खाता स्थापित करने से समस्या के आसपास काम किया। – Sam

उत्तर

1

यह मेरे लिए काम किया यह प्रयास करें,:

public void addEmail() { 

    TextView txt = (TextView) findViewById(R.id.emailtext); 

    txt.setOnClickListener(new View.OnClickListener(){ 

    public void onClick(View v){ 

      String[] emails = {"[email protected]"}; 
      String subject = "your subject"; 
      String message = "your message"; 

      Intent email = new Intent(Intent.ACTION_SEND); 
      email.putExtra(Intent.EXTRA_EMAIL, emails); 
      email.putExtra(Intent.EXTRA_SUBJECT, subject); 
      email.putExtra(Intent.EXTRA_TEXT, message); 

      // need this to prompts email client only 
      email.setType("message/rfc822"); 

      startActivity(Intent.createChooser(email, "Choose an Email client :")); 
    }}); 

} 
+0

मैंने परीक्षण किया है और पुष्टि की है कि यह काम करता है। ऐसा लगता है कि जब कोई ऐप से मेल नहीं खाता है तो समस्या 'setData()' का उपयोग करके हुई थी। – Sam

13

समस्या शायद यह है कि आप आधिकारिक Android emulators में से एक पर चल रहे हैं और आप अभी तक इस पर कोई ईमेल खाता सेट नहीं किया है। जब ऐसा होता है तो अनुकरणकर्ता com.android.fallback.Fallback गतिविधि खोलते हैं, लेकिन यह वास्तविक दुनिया के उपकरणों पर नहीं प्रतीत होता है।

ComponentName emailApp = intent.resolveActivity(getPackageManager()); 
ComponentName unsupportedAction = ComponentName.unflattenFromString("com.android.fallback/.Fallback"); 
boolean hasEmailApp = emailApp != null && !emailApp.equals(unsupportedAction); 
संबंधित मुद्दे