Android练习之Intent发邮件ACTION_SEND
16lz
2021-01-26
code
View Code1 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 mailAddress104 * @return105 */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 @Override114 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 }
转载于:https://www.cnblogs.com/imzzh/archive/2013/02/20/2918985.html
更多相关文章
- android ×××及问题
- android 蓝牙发送数据
- android广播 demo
- BroadcastReceiver
- 发送短信之分割短信 SMSManager
- Android全局异常捕捉
- 使用Notification发送消息通知
- Android使用Socket(Tcp/Udp)协议进行数据传输(传输大文件)
- android 空调遥控器——简单发送内容