2011-01-23 54 views

回答

9

然後,您必須將位圖保存到SDCard,然後將其附加到電子郵件(我猜你know how to do so)。

爲什麼需要將其保存到SDCard?這是因爲電子郵件應用程序將不得不閱讀將要附加的文件;因此,您必須將路徑和文件名傳遞給電子郵件客戶端。與其他應用程序一樣,電子郵件客戶端只能訪問存儲在其私人目錄或SDCard中的文件。

+0

Thanx的信息。有沒有什麼辦法可以直接發送位圖對象,而不是將它保存到SD卡中?我不希望圖像可供其他應用程序或用戶訪問。 – mobiledev 2011-01-23 19:27:57

+0

您可以在電子郵件發送後刪除圖像。 – Cristian 2011-01-23 19:29:57

4
/* Return Drawable Object from Specified imageUrl In Web 

@imageUrl : image Url in Web 

*/ 

try { 
/// Getting image from Web 
    InputStream is = (InputStream) new URL(imageUrl).getContent(); 
    // storing image from stream 
    drawable = Drawable.createFromStream(is, "srcName"); 
    is.close(); 
    // converting drawable object to Bitmap to store in content providers of Media 
    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); 
    // Store image in Devise database to send image to mail 
    String path = Images.Media.insertImage(getContentResolver(), bitmap,"title", null); 
    Uri screenshotUri = Uri.parse(path); 
    final Intent emailIntent1 = new Intent( android.content.Intent.ACTION_SEND); 
    emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent1.putExtra(Intent.EXTRA_STREAM, screenshotUri); 
    emailIntent1.setType("image/png"); 
    startActivity(Intent.createChooser(emailIntent1, "Send email using")); 

} 
catch(Exception e) { } 
相關問題