Android发送邮件的方法实例详解
本文实例讲述了Android发送邮件的方法。分享给大家供大家参考,具体如下:
在android手机中实现发送邮件的功能也是不可缺少的。如何实现它呢?下面以简单的例子进行说明。
程序如下:
importjava.util.regex.Matcher; importjava.util.regex.Pattern; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.KeyEvent; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.view.View.OnKeyListener; importandroid.widget.Button; importandroid.widget.EditText; publicclassA04ActivityextendsActivity{ privateEditTextreciver,cc,subject,body; privateButtonb; privateString[]strReciver; privateString[]strCc; privateStringstrBody; privateStringstrSubject; /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); b=(Button)findViewById(R.id.button); b.setEnabled(false); b.setText("发送邮件"); reciver=(EditText)findViewById(R.id.reciver); subject=(EditText)findViewById(R.id.subject); cc=(EditText)findViewById(R.id.cc); body=(EditText)findViewById(R.id.body); reciver.setText("请输入邮箱地址");//设置默认字段 body.setText("请输入邮件内容"); subject.setText("请输入主题"); cc.setText("请输入邮件的字段"); //点击编辑框,进入可编辑状态 reciver.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub reciver.setText(""); } }); cc.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub cc.setText(""); } }); subject.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub subject.setText(""); } }); body.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub body.setText(""); } }); reciver.setOnKeyListener(newOnKeyListener(){ @Override publicbooleanonKey(Viewv,intkeyCode,KeyEventevent){ //TODOAuto-generatedmethodstub if(isEmail(reciver.getText().toString())){ b.setEnabled(true); } else{ b.setEnabled(false); } returnfalse; } }); b.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub strReciver=newString[]{reciver.getText().toString()}; strCc=newString[]{cc.getText().toString()}; strSubject=subject.getText().toString(); strBody=body.getText().toString(); Intenti=newIntent(android.content.Intent.ACTION_SEND); i.putExtra(android.content.Intent.EXTRA_EMAIL,strReciver); i.putExtra(android.content.Intent.EXTRA_CC,strCc); i.putExtra(android.content.Intent.EXTRA_SUBJECT,strSubject); i.putExtra(android.content.Intent.EXTRA_TEXT,strBody); startActivity(Intent.createChooser(i,getResources().getString(R.string.str_message))); } }); } publicstaticbooleanisEmail(Strings){ Stringexpression="^[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]$"; Patternp=Pattern.compile(expression); Matcherm=p.matcher(s); returnm.matches(); } }
res/layout/main.xml如下
<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/> <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/reciver" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/cc" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/subject" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/body" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
上面是android中实现发送邮件功能的方法之一,还有另外两种方法如下所示:
方法一:
Uriuri=Uri.parse("mailTo:1650***185@qq.com"); Intenti=newIntent(Intent.ACTION_SENDTO,uri); startActivity(i);
方法二:
Intenti=newIntent(Intent.ACTION_SEND); String[]tos={"1650***185@qq.com"}; String[]ccs={"7885***158@qq.com"}; i.putExtra(Intent.EXTRA_EMALL,tos); i.putExtra(Intent.EXTRA_CC,ccs); i.putExtra(Intent.EXTRA_TEXT,"邮件内容"); i.putExtra(Intent.EXTRA_SUBJECT,"邮件主题"); i.setType("message/rfc822"); startActivity(Intent.createChooser(i,"你的邮件"));
如果想在发送的邮件中添加附件,则可以这样写:
Intenti=newIntent(Intent.ACTION_SEND); i.putExtra(Intent.EXTRA_SUBJECT,"邮件主题"); i.putExtra(Intent.EXTRA_STREAM,"file:///sdcard/xyz.mp3"); startActivity(Intent.createChooser(i,"你的邮件"));
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》及《Android开发入门与进阶教程》
希望本文所述对大家Android程序设计有所帮助。