0

内部ストレージにあるメールの添付ファイルとしてファイルを送信することは (驚くほど) 不可能であることを SO で読んでいます (MODE_WORLD_READABLE でも)。

したがって、メールを送信する前にファイルを外部ストレージにコピーする (汚い) コードを使用しています。

問題は、メールを受信したときに添付ファイルが存在しないことです (送信時には添付ファイルとして表示されていましたが)。

それでも、ルート エクスプローラーを使用して手動でファイルをメールで送信すると、すべてが完全に機能します...

これが私のコードです:

File sdDir = Environment.getExternalStorageDirectory();
File dir = getDir("MyApp", MODE_WORLD_READABLE);
copyFile(new File(dir.getAbsolutePath()+File.separator+Ref+"-"+Name+".html"), new File(sdDir+File.separator+Ref+"-"+Name+".html"));
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(sdDir+File.separator+ReservationReference+"-"+LastName+".html")); //"file://"+dir.getAbsolutePath()+File.separator+ReservationReference+"-"+LastName+".html"));
this.startActivity(Intent.createChooser(emailIntent, "Send by mail"));

よろしくお願いします。

4

0 に答える 0