下面是一個用intent發用郵件的Util類,可以發送附件。
//MailUtil.javapackage com.maclab.util;import java.io.File;import com.dropbox.client2.session.Session.AccessType;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.net.Uri;public class MailUtil {public static void sendMail(String path,Context c){File file = new File(path); //附件檔案地址Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra("subject", file.getName()); //intent.putExtra("body", "Email from CodePad"); //本文intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); //添加附件,附件為file對象if (file.getName().endsWith(".gz")) {intent.setType("application/x-gzip"); //如果是gz使用gzip的mime} else if (file.getName().endsWith(".txt")) {intent.setType("text/plain"); //純文字則用text/plain的mime} else {intent.setType("application/octet-stream"); //其他的均使用流當做位元據來發送}c.startActivity(intent); //調用系統的mail用戶端進行發送}}public static void mailContact(Context c,String mailAdress){Intent it = new Intent(Intent.ACTION_SEND); String[] receiver; receiver=new String[]{mailAdress};it.putExtra(Intent.EXTRA_EMAIL, receiver);it.putExtra("subject", "About CodePad");it.putExtra(Intent.EXTRA_TEXT, "/*Thanks advance for any tips.*/"); it.setType("text/plain"); c.startActivity(Intent.createChooser(it, "Choose Email Client")); //調用系統的mail用戶端進行發送}}
由於是靜態方法,直接調用就可以了。調用效果: