1 package com.example.flexe4;
2
3 import java.util.regex.Matcher;
4 import java.util.regex.Pattern;
5
6 import android.net.Uri;
7 import android.os.Bundle;
8 import android.app.Activity;
9 import android.content.Intent;
10 import android.view.KeyEvent;
11 import android.view.Menu;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.view.View.OnKeyListener;
15 import android.widget.Button;
16 import android.widget.EditText;
17
18 /**
19 * Intent发送邮件
20 * android.content.Intent.ACTION_SEND
21 */
22 public class MainActivity extends Activity {
23
24 private EditText et1;
25 private EditText et2;
26 private EditText et3;
27 private EditText et4;
28 private Button bt1;
29 private String[] mailReciver;
30 private String mailSubject;
31 private String[] mailAttach;
32 private String mailBody;
33
34 @Override
35 protected void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 setContentView(R.layout.activity_main);
38
39 bt1 = (Button) findViewById(R.id.bt1);
40 bt1.setEnabled(false);
41 et1 = (EditText) findViewById(R.id.et1);
42 et2 = (EditText) findViewById(R.id.et2);
43 et3 = (EditText) findViewById(R.id.et3);
44 et4 = (EditText) findViewById(R.id.et4);
45
46 /**
47 * 邮件地址EditText事件
48 */
49 et1.setOnKeyListener(new OnKeyListener() {
50
51 @Override
52 public boolean onKey(View v, int keyCode, KeyEvent event) {
53 if(isEmail(et1.getText().toString())){
54 bt1.setEnabled(true);
55 }else{
56 bt1.setEnabled(false);
57 }
58 return false;
59 }
60 });
61
62 /**
63 * 发送Button事件
64 */
65 bt1.setOnClickListener(new OnClickListener() {
66
67 @Override
68 public void onClick(View v) {
69 Intent intent = new Intent(Intent.ACTION_SEND);//android.content.Intent.ACTION_SEND
70 //intent.setType("plain/text");//an Email with body
71
72 mailReciver = new String[]{et1.getText().toString()};
73 mailAttach = new String[]{et2.getText().toString()};
74 mailSubject = new String(et3.getText().toString());
75 mailBody = new String(et4.getText().toString());
76
77 intent.putExtra(Intent.EXTRA_EMAIL, mailReciver);
78 intent.putExtra(Intent.EXTRA_SUBJECT, mailSubject);
79 intent.putExtra(Intent.EXTRA_SUBJECT, mailSubject);
80 intent.putExtra(Intent.EXTRA_TEXT, mailBody);
81
82 //带附件的Email
83 intent.setType("audio/mp3");//an Email with Attachment
84 //单个附件
85 //Uri uri = Uri.parse("file:///sdcard/aa.mp3");
86 //intent.putExtra(Intent.EXTRA_STREAM, uri);
87 //intent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/aa.mp3");
88
89 //多个附件
90 String szSelectedFiles[] = {
91 "file:///sdcard/ebook/CityCodes.xml", "text/xml",
92 "file:///sdcard/ebook/PhoneBookU.txt", "text/plain",
93 "file:///sdcard/windy.gif", "image/gif" };
94 intent.putExtra(Intent.EXTRA_STREAM, szSelectedFiles);
95
96 startActivity(Intent.createChooser(intent, "发送 ... ... "));//选择app去发邮件
97 }
98 });
99 }
100
101 /**
102 * 判断邮件地址
103 * @param mailAddress
104 * @return
105 */
106 public static boolean isEmail(String mailAddress){
107 String strPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
108 Pattern pt = Pattern.compile(strPattern);
109 Matcher mc = pt.matcher(mailAddress);
110 return mc.matches();
111 }
112
113 @Override
114 public boolean onCreateOptionsMenu(Menu menu) {
115 // Inflate the menu; this adds items to the action bar if it is present.
116 getMenuInflater().inflate(R.menu.activity_main, menu);
117 return true;
118 }
119
120 }