2011-01-23 6 views

答えて

9

次に、ビットマップをSDCardに保存してから、電子メールに添付する必要があります(これはknow how to do soと思います)。

なぜSDCardに保存する必要がありますか?これは、電子メールアプリケーションが添付されるファイルを読み取る必要があるためです。したがって、パスとファイル名を電子メールクライアントに渡す必要があります。他のアプリと同様に、電子メールクライアントは自分のプライベートディレクトリまたはSDCardに保存されているファイルにしかアクセスできません。

+0

Thanxです。私たちがビットマップオブジェクトを直接送ることができ、それをsdcardに保存することができない方法はありますか?他のアプリやユーザーが画像にアクセスできるようにする必要はありません。 – mobiledev

+0

メールを送信した後で画像を削除することができます。 – Cristian

+0

電子メールが送信されたかどうかを知る方法を教えてください。 ACTION_SENDインテントを開始するstartActivityForResultメソッドはありません。また、htmlとして添付ファイルを送信することも可能です。 – mobiledev

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) { } 
+0

はチャームのように働いた!ありがとう – LeoSarena

関連する問題