Friday, November 23, 2012

Send Email In Android


File : res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/textViewPhoneNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="To : "
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <EditText
        android:id="@+id/editTextTo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress" >
 
        <requestFocus />
 
    </EditText>
 
    <TextView
        android:id="@+id/textViewSubject"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Subject : "
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <EditText
        android:id="@+id/editTextSubject"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         >
    </EditText>
 
    <TextView
        android:id="@+id/textViewMessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Message : "
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <EditText
        android:id="@+id/editTextMessage"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="top"
        android:inputType="textMultiLine"
        android:lines="5" />
 
    <Button
        android:id="@+id/buttonSend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Send" />
 
</LinearLayout>
Full activity class to send an Email. Read the onClick() method, it should be self-explanatory.
package com.mkyong.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 :"));
 
   }
  });
 }
}

See default scree, fill in the detail, and click on the “send” button.
send email in android
It will prompts your existing Email client to select.
send email in android
In this case, i selected Gmail, and all previous filled in detail will be populated to Gmail client automatically.
send email in android
Note Android does not provide API to send Email directly, you have to call the existing Email client to send Email.

No comments:

Post a Comment