2012-11-10 84 views
1

我想使用意圖附加多個文件。如何在android電子郵件中附加多個文件?

下面我的代碼。

 Intent mSendIntent = new Intent(android.content.Intent.ACTION_SEND); 
     mSendIntent.setType("plain/text"); 
     mSendIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
       new String[] { "" }); 
     mSendIntent.putExtra(android.content.Intent.EXTRA_CC, ""); 
     mSendIntent.putExtra(android.content.Intent.EXTRA_BCC, ""); 
     mSendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
       "InfoMe Profile Request"); 
     ArrayList<String> yList = new ArrayList<String>(); 
     yList.add(path+filename); 
     yList.add(path+"save.ime"); 
     ArrayList<Uri> y = new ArrayList<Uri>(); 
     for(String a:yList){ 
      y.add(Uri.fromFile(new File(a))); 
     } 
     mSendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, 
       y); 
     mSendIntent.putExtra(android.content.Intent.EXTRA_TEXT, 
       Html.fromHtml(bodypart)); 
     context.startActivity(Intent.createChooser(mSendIntent, 
       "Send mail...")); 

但是當我發送它比沒有發現附件。請提前幫助我。

回答

1

你的代碼是乾淨的,直到

Intent mailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
3

這是一個關於如何將多個圖像通過附件發送一個很好的教程:http://android-er.blogspot.hk/2012/10/start-activity-to-send-multi-images.html

僅供參考,ACTION_SEND是單個附件。對於多個文件,你需要ACTION_SEND_MULTIPLE

它的要點是,當你點擊按鈕來調用Intent發送電子郵件,你需要的東西是這樣的:

intent.setAction(Intent.ACTION_SEND_MULTIPLE); 
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayUri); 
intent.setType("image/*"); 
startActivity(Intent.createChooser(intent, "Choice App to send email:")); 

這裏arrayUri聲明像這樣:ArrayList<Uri> arrayUri = new ArrayList<Uri>();

按照教程查看完整的功能示例。他們也有整個項目可供下載。

+0

我想發送一個文件和5圖像bt電子郵件描述沒有attachment.and我也使用此代碼。所以有可能發送一個文件與5個圖像? – urveshpatel50

+0

除非您找到將它們壓縮爲zip或rar等的方法,否則無法在一個文件中發送多個圖像。我也嘗試了教程提供的示例項目。它對我來說非常完美。也許你可以將你的代碼與他們的代碼進行比較,看看是否有任何重大差異。 –

+0

好吧,我會盡力跟着你 – urveshpatel50

相關問題