2012-02-07 39 views
1

喜首先我想說的使用Gmail發送者要在我的應用程序在那裏我在上面的代碼,我不能附加文件得到了Solution From Here如何附加文件通過郵件中的Android

現在發送按鈕上點擊郵件。但是後來我看到Stack over flow的解決方案解決了這個問題,在「GMailSender.java」文件中做了一些修改,修改後的鏈接是Here

如何添加部分現在附加文件問題是我不明白修改部分。 這裏是舊部

公共同步空隙的SendMail(字符串對象,字符串體,字符串發件人,字符串的收件人)

修改部分是

公共同步無效的SendMail(字符串對象,字符串體,字符串發件人,收件人的字符串,文件附件)

這不是一個重複的問題,我只是想知道這個「文件附加」部分是什麼,我應該實現附加文件,如果您有任何疑問,請經過這兩個環節,並請找什麼類型或方法解決方案預先感謝

回答

4

你傳遞一個File對象調用attachment。這將是任何你想要附加到你的電子郵件。

您將它連接到您的電子郵件,如:

MimeMessage message = new MimeMessage(session); 
message.setSender(new InternetAddress(sender)); 
message.setSubject(subject); 

MimeBodyPart mbp1 = new MimeBodyPart(); 
mbp1.setText(body); 

MimeBodyPart mbp2 = new MimeBodyPart(); 
FileDataSource fds = new FileDataSource(attachment); //set attachment to filedatasource 
mbp2.setDataHandler(new DataHandler(fds)); //add the filedatasource object to your 2nd mimebodypart 
mbp2.setFileName(fds.getName()); 

Multipart mp = new MimeMultipart(); 
mp.addBodyPart(mbp1); 
mp.addBodyPart(mbp2); 

message.setContent(mp); 
...send email... 

編輯:從來沒有來從SD卡中的圖片,但我認爲你可以輕鬆地創建它的File對象是這樣的:

File imageFile = new File("path to image on sd card"); 

然後,你會打電話給你的sendMail方法傳入該文件對象。

+0

我不明白,怎麼能附上一個JPEG文件 – Ramz 2012-02-07 16:03:02

+0

你從哪兒拉JPEG? – bschultz 2012-02-07 16:06:05

+0

從MYCOMPUTER圖片文件在我的模擬器 – Ramz 2012-02-07 16:12:33

1

試試這個

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("message/rfc822") ; // use from live device 
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
i.putExtra(Intent.EXTRA_SUBJECT,"subject goes here"); 
i.putExtra(Intent.EXTRA_TEXT,"body goes here"); 
i.putExtra(Intent.EXTRA_STREAM, new File("")); 
startActivity(Intent.createChooser(i, "Select email application."));