1

ユーザーのデータをCSVファイルに変換し、ユーザーがそれを誰か(おそらく自分自身)に添付ファイルとして送信できるようにする「エクスポート」機能を備えたアプリを作成しています。

CSVファイルは正常に作成されましたが、メールを送信しようとすると問題が発生します。デバイスは適切な添付ファイル付きの電子メールを送信しようとしているように見えますが、電子メールを受信すると...添付ファイルがまったくありません...

メールの送信に使用しているコードは次のとおりです。

final Intent email = new Intent(android.content.Intent.ACTION_SEND);

  email.setType("text/html");
  email.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.email_subject));
  email.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(getString(R.string.email_1)));

  email.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///" + getString(R.string.csv_title)));


  startActivity(Intent.createChooser(email, "Send mail..."));
4

3 に答える 3

2
i've done for send any file from SD card with mail attachment..

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:"));
于 2013-04-01T13:50:21.677 に答える
0

SDカードの場合、ファイルの正しいパスが必要です...

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse 
("file://"+Environment.getExternalStorageDirectory()+getString(R.string.csv_title)"));

適切なファイル パスの設定に関する追加情報については、こちらをご覧ください。

http://developer.android.com/guide/topics/data/data-storage.html#files外部

于 2010-11-10T21:37:11.493 に答える
0

GMail アプリは、sdcard にある場合にのみ file:// Uris を受け入れます... Android 1.6 デバイスでは、file://sdcard/* Uris のみを受け入れるという問題さえありましたが、この特定のデバイスの実際の外部ストレージは別の道にあります。

とにかく、ContentProvider を介して添付ファイルを提供するので、添付ファイルの動作が本当に良くなります。

于 2010-11-10T22:43:32.983 に答える