Java、Android Studio、Genymotion。
各位同事,
我正在从android应用程序发送带有txt附件的电子邮件(Intent)。Txt文件是应用程序先前创建的。
在gmail客户端的genymotion中,这个附件(文件大约1Kb)正在显示,但真正的邮件没有附件。
代码段:
// file creating
...
final String FILENAME = "file";
...
try {
// оÑÑÑваем поÑок Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(openFileOutput(FILENAME, MODE_PRIVATE)));
// writing any data
bw.write ("\n");
...
Log.d(LOG_TAG, "file is created");
bw.close();
}
// sending email with intent
public void sendEmailwithMailClient (){
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
// sending email
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"example@rambler.ru"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.app_name));
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hello!");
File file = new File(getFilesDir(), FILENAME);
// if (!file.exists() || !file.canRead()) {
// return;}
Uri uri = Uri.fromFile(file);
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(emailIntent, "Pick an Email provider"));
}
我是否通过getFilesDir()和FILENAME正确定义了附件的Uri?
为什么电子邮件在发送过程中会丢失附件?这是《源语》的问题,或者实际上我没有在邮件中附加任何内容,而且在《源语”中附加的显示只是假的?
提前谢谢!