2016-05-18 7 views
-1

Ich versuche, eine Aktivität zum Senden einer E-Mail zu erstellen. Ich verwende ein Intent-Objekt "Aktion senden", um den E-Mail-Client zu starten.Warum ist keine Verbindung zum Client? Android

Allerdings nicht den E-Mail-Client erkennen, dies ist das erste Mal, dass ich das tun, bitte helfen. Was ist falsch an meinem Code?

public class email extends Activity { 

    private Button send; 
    DBHelper mydb1; 
    private ListView obj; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mydb1 = new DBHelper(this); 
     setContentView(R.layout.email_display); 
     ArrayList array_list = mydb1.getAllCotacts(); 
     ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array_list); 

     obj = (ListView) findViewById(R.id.listView2); 
     obj.setAdapter(arrayAdapter); 


      send =(Button) findViewById(R.id.send_button); 

      send.setOnClickListener(new View.OnClickListener() 

            { 
             @Override 
             public void onClick(View v) { 
              try { 
               Intent emailIntent = new Intent(Intent.ACTION_SEND); 
               emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
               emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
               emailIntent.putExtra(Intent.EXTRA_TEXT, "HEY"); 
               emailIntent.putExtra(Intent.EXTRA_CC, "[email protected]"); 
               emailIntent.setType("message/rfc822"); 
               startActivity(emailIntent); 
              } catch (ActivityNotFoundException anfe) { 
               Toast toast = Toast.makeText(email.this, "Sorry, no email client found", Toast.LENGTH_LONG); 
               toast.show(); 
              } 
             } 
            } 

      ); 
     } 
    } 
+0

Gibt es irgendwelche Anwendungen auf Ihrem Testgerät, das eine Absicht von MIME-Typ 'Nachricht/rfc822' empfangen kann? –

+1

Könnten Sie bitte mehr Informationen über den Fehler geben? MimeType scheint das Problem zu sein, http://www.tutorialspoint.com/android/android_sending_email.htm werfen Sie einen Blick auf es –

+0

[Siehe diese Frage] (http://stackoverflow.com/questions/8701634/send-email- Absicht) – ZeusNet

Antwort

0

Auf dem Knopf klicken:

Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "message"); 
emailIntent.setType("message/rfc822"); 
startActivity(Intent.createChooser(emailIntent, "Choose an Email client :")); 

Wie pro Ihre Codeänderung

startActivity(emailIntent); 

zu

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

OR

Versuch mit,

Stattdessen verwenden Sie einen ACTION_SENDTO, die mailto Bereitstellung: Uri

intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:")); 

Dies kann Ihnen hilft.

0
Intent i = new Intent(Intent.ACTION_SEND); 
    i.setType("text/plain"); 
    i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
    i.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    i.putExtra(Intent.EXTRA_TEXT , "body"); 
    i.putExtra(Intent.EXTRA_CC, new String[] { "[email protected]" }); 
    try { 
     startActivity(Intent.createChooser(i, "Send mail...")); 
    } catch (android.content.ActivityNotFoundException ex) { 
     Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show(); 
    } 

bearbeiten

Versuchen Sie es mit:

i.setType("text/plain"); 
+0

Das durch mich einen anderen Fehler "Keine Anwendungen können diese Aktion durchführen" die Mail ist in meinem Emulator eingerichtet und bereits mit Klartext –

+0

@CarlosSiverioGonzalez versucht ich meine Antwort zu aktualisieren. Bitte prüfe. –

Verwandte Themen