2011-07-14 84 views
1

如何知道ImageView圖像的文件名? 我想將它作爲電子郵件附件發送。從ImageView發送圖像作爲電子郵件附件

更新:我不使用資源中的圖像。我有Android存儲的圖像(如在聯繫人應用程序中)使用:

new Intent(Intent.ACTION_GET_CONTENT,null);

和來自相機。相機是好的 - 我可以得到文件路徑。但存儲是問題

回答

1

簡短的答案是,你不能,因爲圖像可以來自各種來源。你可以做的是得到bitmap cache與發送圖像相同的結果。

+0

我有圖片來自Android的存儲設備(如聯繫人應用程序):R.drawable.example

您可以在創建電子郵件的意圖,然後通過這個作爲一個額外的這樣的意圖(意圖.ACTION_GET_CONTENT,null)和來自相機。相機是好的 - 我可以得到文件路徑。但存儲是問題 –

+0

如果您正在通過SD卡或內部存儲獲取它們,則可能需要掃描介質中的圖像文件。 –

3

如果圖像是您提供的資源,那麼您可以獲取圖像的路徑。格式爲:

「android.resource:// [包裝]/[RES ID]」

[包裝]是你的包名

[RES ID]是資源的ID值,例如使用

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
//Mime type of the attachment (or) u can use sendIntent.setType("*/*") 
sendIntent.setType("image/jpeg"); 
//Subject for the message or Email 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "My Picture"); 
//Full Path to the attachment 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://your.package.name/" + R.drawable.example)); 
//Use a chooser to decide whether email or mms 
startActivity(Intent.createChooser(sendIntent, "Email:")); 
+0

謝謝,但我不使用資源中的圖像。我有使用:Intent(Intent.ACTION_GET_CONTENT,null)和來自相機的android存儲器中的圖像(如在聯繫人應用程序中)。相機是好的 - 我可以得到文件路徑。但存儲是問題 –

+0

嘗試看看內容提供商,http://developer.android.com/guide/topics/providers/content-providers.html我認爲這就是你需要的,我做了類似的事情,如果我能找到它,我會尋找它併發布代碼。 – Kenny

+0

Kenny,使用此方法時,附件文件名是一個數字而不是文件名。有沒有辦法在發送前重命名附件,而不必保存到SD卡? –

相關問題