SDにファイルを書き込みます。ASTROアプリやGmailアプリ、Yahooアプリを使ってファイルを見て、そこから添付することもできるので、ファイルが問題ないことはわかっていますが、自分のアプリからファイルを添付しようとすると、事態はまったく異なります. gmail または yahoo アプリを選択すると、ファイルを読み取ることができません。しかし、デフォルトのアプリを選択すると、メールはファイルが添付された状態で正しく送信されます。
これが私のコードです。ありがとう!!
AndroidManifest uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 内
ファイルを作成する場所
File ruta_sd = Environment.getExternalStorageDirectory();
File f;
// Creo la carpeta;
File folder = new File(ruta_sd.getAbsolutePath() + "/Torno");
folder.mkdirs();
f = new File(ruta_sd.getAbsolutePath() + "/Torno/","Torno.xml");
// Just trying
f.canRead();
OutputStreamWriter fout = new OutputStreamWriter(new FileOutputStream(f));
fout.write(c); <-- c is a String in xml format
// Just trying
fout.flush();
fout.close();
さて、取り付けてみたところ
String ruta = Environment.getExternalStorageDirectory().getPath() + "/Torno/Torno.xml";
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType(getMimeType(ruta));
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(ruta));
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "el tema");
sendIntent.putExtra(Intent.EXTRA_TEXT, "el cuerpo del mensaje");
// Just trying
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sendIntent, "Title:"));`