項目中遇到了一個發送郵件的功能,在網上查了很多,資料也很多。這裡就不一一介紹了,只是寫出我使用的方案(最簡單的)
Intent email = new Intent(android.content.Intent.ACTION_SEND);//郵件發送類型:無附件,純文字email.setType("plain/text");//郵件接收者(數組,可以是多位接收者)String[] emailReciver = new String[]{"123@qq.com","456@163.com"};String emailTitle = "標題";String emailContent = "內容";//設定郵件地址 email.putExtra(android.content.Intent.EXTRA_EMAIL, emailReciver);//設定郵件標題email.putExtra(android.content.Intent.EXTRA_SUBJECT, emailTitle);//設定發送的內容email.putExtra(android.content.Intent.EXTRA_TEXT, emailContent); //調用系統的郵件系統startActivity(Intent.createChooser(email, "請選擇郵件發送軟體"));
代碼很簡單,直接複製,然後修改就可以用(本人親自試過了)。就像我說的,這是最最簡單的方式了。它主要是通過調用系統的mail發送郵件。他的好處就是簡單,方便。如果你安裝了QQ郵箱、gmail郵箱、163郵箱的android用戶端,那麼在發送時,會提示你選擇使用哪一個。如果你沒有安裝上述郵件用戶端,那麼,就調用系統的郵件用戶端了。
下面在寫一個可以發送附件的代碼,當然也是這種最簡單的方式
Intent email = new Intent(android.content.Intent.ACTION_SEND);// 附件 File file = new File(Environment.getExternalStorageDirectory().getPath()+ File.separator + "simplenote"+ File.separator+"note.xml");//郵件發送類型:帶附件的郵件email.setType("application/octet-stream"); //郵件接收者(數組,可以是多位接收者)String[] emailReciver = new String[]{"123@qq.com","456@163.com"};String emailTitle = "標題";String emailContent = "內容";//設定郵件地址email.putExtra(android.content.Intent.EXTRA_EMAIL, emailReciver);//設定郵件標題 email.putExtra(android.content.Intent.EXTRA_SUBJECT, emailTitle);//設定發送的內容email.putExtra(android.content.Intent.EXTRA_TEXT, emailContent);//附件email.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); //調用系統的郵件系統startActivity(Intent.createChooser(email, "請選擇郵件發送軟體"));
通過兩段代碼的比較,就明白了。