2011-12-24 40 views
1

我在做簡單的語音記錄應用程序。在我的應用程序中,語音錄製後文件將通過郵件發送給某人使用IntentAndroid中的附件

我已經正確獲取文件路徑,並且它也已連接。但是,當我將文件接收到我的郵件時,文件大小爲0字節。缺少什麼?而且,我的文件大小在發送電子郵件時沒有顯示?

+1

,我們需要看到一些代碼來幫助你,這一切都取決於(比如,你是如何使用的意圖,如何發送它)。 – TryTryAgain 2011-12-24 12:51:03

+0

@TryTryAgain看到這裏 - http://pastebin.com/raw.php?i=bVtCuHnM – Praveenkumar 2011-12-24 12:59:46

+0

我必須是盲人。我看不到任何電子郵件與保存的音頻文件一起出去。 – TryTryAgain 2011-12-24 13:05:56

回答

0

我已經完成了我自己的工作。喜歡 -

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[]{emailTo}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText); 
//has to be an ArrayList 
ArrayList<Uri> uris = new ArrayList<Uri>(); 
//convert from paths to Android friendly Parcelable Uri's 
for (String file : filePaths) 
{ 
    File fileIn = new File(file); 
    Uri u = Uri.fromFile(fileIn); 
    uris.add(u); 
} 
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(emailIntent); 

感謝您的回覆。

2

我想是這樣,它是附加0KB文件下面一行

使用附加文件

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + path)); 
1

看來你有文件的savedUri路徑中的URL是不妥當的。現在只是附加到電子郵件的問題。試試這個:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("audio/amr"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"[email protected]"}); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "xyz"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "body"); 
    emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ savedUri)); 
    startActivity(Intent.createChooser(emailIntent, "Sent")); 
+0

不,我正在錄製amr格式 – Praveenkumar 2011-12-24 13:19:08

+0

更改wav爲amr。我認爲相同的代碼應該適用於amr。 – 2011-12-24 13:32:02

1

我已經從SD卡發送的任何文件,郵件附件進行..

Intent sendEmail= new Intent(Intent.ACTION_SEND); 
     sendEmail.setType("rar/image"); 
     sendEmail.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new   
       File("/mnt/sdcard/download/abc.rar"))); 
       startActivity(Intent.createChooser(sendEmail, "Email:")); 
+0

感謝您的回答。 – Praveenkumar 2012-11-21 15:18:47