So senden Sie eine E-Mail in Android

So senden Sie E-Mails in Android

In Android können SieIntent.ACTION_SEND verwenden, um einen vorhandenen E-Mail-Client anzurufen und eine E-Mail zu senden.

Siehe folgende Code-Schnipsel:

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

P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).

Run & test on real device only.
Wenn Sie dies auf dem Emulator ausführen, wird die Fehlermeldung "No application can perform this action" angezeigt. Dieser Code funktioniert nur auf echten Geräten.

1. Android-Layout

Datei: res / layout / main.xml



    

    

        

    

    

    
    

    

    

    

2. Aktivität

Vollständige Aktivitätsklasse zum Senden einer E-Mail. Lesen Sie dieonClick()-Methode, sie sollte selbsterklärend sein.

package com.example.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class SendEmailActivity extends Activity {

    Button buttonSend;
    EditText textTo;
    EditText textSubject;
    EditText textMessage;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        buttonSend = (Button) findViewById(R.id.buttonSend);
        textTo = (EditText) findViewById(R.id.editTextTo);
        textSubject = (EditText) findViewById(R.id.editTextSubject);
        textMessage = (EditText) findViewById(R.id.editTextMessage);

        buttonSend.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

              String to = textTo.getText().toString();
              String subject = textSubject.getText().toString();
              String message = textMessage.getText().toString();

              Intent email = new Intent(Intent.ACTION_SEND);
              email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
              //email.putExtra(Intent.EXTRA_CC, new String[]{ to});
              //email.putExtra(Intent.EXTRA_BCC, new String[]{to});
              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 :"));

            }
        });
    }
}

3. Demo

Sehen Sie sich das Standardbild an, geben Sie die Details ein und klicken Sie auf die Schaltfläche "Senden".

send email in android

Es fordert Ihren vorhandenen E-Mail-Client zur Auswahl auf.

send email in android

In diesem Fall habe ichGmail ausgewählt, und alle zuvor ausgefüllten Details werden automatisch in den Client vonGmaileingetragen.

send email in android

Note
Android bietet keine API zum direkten Senden von E-Mails. Sie müssen den vorhandenen E-Mail-Client anrufen, um E-Mails zu senden.

Quellcode herunterladen

Laden Sie es herunter -Android-Send-Email-Example.zip (16 KB)