gpt4 book ai didi

android - Android:附加到电子邮件应用程序后何时删除文件?

转载 作者:行者123 更新时间:2023-11-29 14:11:57 26 4
gpt4 key购买 nike

我的应用程序在临时存储区中创建一个文件,并向其中写入一些数据。

exportFile = new File(this.getFilesDir(), filename);


然后允许用户选择一个电子邮件程序来附加并发送文件。

我开始一项活动以取得成果。

startActivityForResult(Intent.createChooser(emailIntent, "Send eMail..."), SEND_EMAIL_ACTIVITY);


在onActivityResult()事件中,我正在删除文件。

exportFile.delete();


但是由于时间原因,我想有时候文件会被附加并发送,有时文件没有被附加,并且电子邮件到达时没有附件。

如果我从onActivityResult()中删除delete(),则附件始终会到达。

问题:我应该何时/如何删除该临时文件,以使其不影响电子邮件的传递?

这是我建立电子邮件意图的方式:

    // Send email with attachment
String to[] = {emailAddressEditText.getText().toString()};
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
emailIntent.putExtra(Intent.EXTRA_SUBJECT,
"Birder's Diary Mobile: " + submitLocation.getText().toString());
emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody.toString());
Uri path = null;
try {
path = FileProvider.getUriForFile(this, getPackageName() + ".provider", exportFile);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
sightingsCursor.close();
return;
}
emailIntent.putExtra(Intent.EXTRA_STREAM, path);
emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

// Let user pick client
try {
startActivityForResult(Intent.createChooser(emailIntent, "Send eMail..."),
SEND_EMAIL_ACTIVITY);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
sightingsCursor.close();
return;
}

最佳答案

如何在发送电子邮件之前删除旧文件,例如。在onCreate或临时删除文件(如果日期不相同)?在应用程序启动时

关于android - Android:附加到电子邮件应用程序后何时删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59441033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com