code

View Code
  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 }

 

posted on 2013-02-20 16:45  hanxun  阅读(569)  评论(0编辑  收藏  举报