-1

メールに「.csv」を添付して送信いたします。しかし、csvファイルが受信側で利用できないという問題に直面しています。

あまりにも多くの Mime タイプを試しました

application/octet-stream、text/comma-separated-values、text/csv、application/csv、application/excel、application/vnd.ms-excel、application/vnd.msexcel

しかし、ファイルはメールに添付されていません。

以下は、メールを送信するために使用したコードです

public boolean sendEmail() {
    boolean success = false;
    Intent intentSendMail = new Intent(Intent.ACTION_SEND);

    File mydir = getApplicationContext().getDir(Global.FOLDERNAME, Context.MODE_PRIVATE); 
    File fileWithinMyDir = new File(mydir, Global.FILENAME); 
    if (!fileWithinMyDir.exists() || !fileWithinMyDir.canRead()) {
        Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show();
        success = false;
    } else {
        intentSendMail.setType("text/csv");

        intentSendMail.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fileWithinMyDir));

        intentSendMail.putExtra(Intent.EXTRA_SUBJECT,
                "Subject");

        intentSendMail.putExtra(Intent.EXTRA_TEXT, "Sent from my phone.");

        startActivity(Intent.createChooser(intentSendMail, "E-mail"));

        success = true;
    }
    return success;
}

前もって感謝します..

4

3 に答える 3

1

この問題の解決策を得ました。以下は解決策です

public boolean sendEmail() {
    String destLocation = "";
    String FILE = Environment.getExternalStorageDirectory()+"";
    destLocation =  FILE + "/" + Global.FILENAME;


    boolean success = false;
    Intent intentSendMail = new Intent(Intent.ACTION_SEND);

    File mydir = getApplicationContext().getDir(Global.FOLDERNAME, Context.MODE_PRIVATE); 
    File fileWithinMyDir = new File(mydir, Global.FILENAME);

    copyFile(Uri.fromFile(fileWithinMyDir).toString(),destLocation);

    if (!fileWithinMyDir.exists() || !fileWithinMyDir.canRead()) {
        Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show();
        success = false;
    } else {
        intentSendMail.setType("application/csv");
        intentSendMail.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+destLocation));

        intentSendMail.putExtra(Intent.EXTRA_SUBJECT,
                "Test Play file.");
        intentSendMail.putExtra(Intent.EXTRA_TEXT, "");

        startActivity(Intent.createChooser(intentSendMail, "E-mail"));

        success = true;
    }
    return success;
}
于 2013-10-03T08:47:26.660 に答える
0

これを試して

emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/sanket test/siteriskassesment.csv"));

また

これを見る

于 2013-08-24T05:43:22.993 に答える