通過Intent發送郵件,其本質也是調用Android系統自帶發送郵件程序,不是真正的自定義發送。
一、設計界面
1、布局文件
打開res/layout/activity_main.xml文件。
輸入以下代碼:
[html] view plain copy
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
-
- <TextView
- android:id="@+id/textView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true"
- android:text="收件人:" />
-
- <EditText
- android:id="@+id/recieve"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="10" >
-
- <requestFocus />
- </EditText>
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="主題" />
-
- <EditText
- android:id="@+id/subject"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="10" />
-
-
- <TextView
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="內容" />
-
- <EditText
- android:id="@+id/content"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="10" />
-
- <Button
- android:id="@+id/send"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="發送郵件" />
-
- </LinearLayout>
二、程序文件
打開“src/com.genwoxue.intentemail/MainActivity.java”文件。
然後輸入以下代碼:
[java] view plain copy
- package com.genwoxue.intentemail;
-
-
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
-
- public class MainActivity extends Activity {
-
- private TextView tvRecieve=null;
- private TextView tvSubject=null;
- private TextView tvContent=null;
- private Button btnSend=null;
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- tvRecieve=(TextView)super.findViewById(R.id.recieve); //收件人
- tvSubject=(TextView)super.findViewById(R.id.subject); //主題
- tvContent=(TextView)super.findViewById(R.id.content); //內容
-
- btnSend=(Button)super.findViewById(R.id.send);
- //發送郵件Email
- btnSend.setOnClickListener(new OnClickListener(){
- public void onClick(View v)
- {
- String recieve[]=new String[1];
- recieve[0]=tvRecieve.getText().toString(); //獲取收件人
- String subject=tvSubject.getText().toString(); //獲取主題
- String content=tvContent.getText().toString(); //攻取內容
-
- Intent intent=new Intent(Intent.ACTION_SEND); //發送郵件使用ACTION_SEND
- intent.setType("plain/text"); //設置類型
-
- //調用系統發送郵件
- intent.putExtra(Intent.EXTRA_EMAIL,recieve);
- intent.putExtra(Intent.EXTRA_SUBJECT,subject);
- intent.putExtra(Intent.EXTRA_TEXT,content);
- MainActivity.this.startActivity(intent);
- }
- });
- }
-
- }
三、運行結果