4

Android 2.3.3 用の非常に小さなアプリケーションを開発しています。関連コードの下に、添付ファイルとして jpeg 画像を含む電子メールを (Android 電子メール アプリを介して) 送信したい (SDK エミュレータでのみテスト済み):

public void sendArtwork(View aView){
        EditText subj = (EditText)findViewById(R.id.edit_subj);
        EditText descr = (EditText)findViewById(R.id.edit_descr);
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("image/jpeg");  // attachment is a jpeg
        emailIntent.putExtra(Intent.EXTRA_EMAIL,new String[]{"contribute@unintentional.org"}); 
        emailIntent.putExtra(Intent.EXTRA_SUBJECT,subj.getText().toString()); //get subject from one EditText in the UI
        emailIntent.putExtra(Intent.EXTRA_TEXT,descr.getText().toString()); //get body from one EditText in the UI
        emailIntent.putExtra(Intent.EXTRA_STREAM, fileURI); // add attachment
        startActivityForResult(Intent.createChooser(emailIntent, "Choose Email application:"), EMAIL_CODE);

    }

期待どおりに動作します。セレクターを開き、正しいアドレス、件名、テキスト、および添付ファイルを含む電子メールを作成して送信します。

私が達成できない唯一のことは、画像の正しい MIME タイプを設定することです: 添付ファイルは正しく受信されます (ディスクにデタッチして開くことができます) が、コンテンツ タイプがないため、電子メール クライアント (サンダーバード)はプレビューを表示せず、それを開くためのアプリケーションを提供できません。これについて誰かアドバイスがありますか?

----編集

画像ファイルはエラーなしで送信されます。前述のように、PC のディスクに保存し、適切なアプリケーション (Picasa など) を使用して開くと、正しく表示されます。

4

1 に答える 1