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程序设计有所帮助。