Android操作\u发送附加文件

Android操作\u发送附加文件,android,email,file,attachment,Android,Email,File,Attachment,当您使用ACTION_SEND intent将文件附加到电子邮件时(使用额外的流),电子邮件应用程序是否会将附加的文件复制到自己的位置?我的应用程序创建了一个文件并将其附加到电子邮件中,但这种情况可能会发生很多次,我希望能够在不再需要该文件时删除该文件(这样就不会让用户的存储空间充斥垃圾数据)。在电子邮件意图启动后删除文件安全吗?不安全。如果您只是没有将其保存到媒体库。为了始终清理用户的存储(SD卡),您可以检查文件的lastModified()日期以确定其保存时间并将其删除 例如: priva

当您使用ACTION_SEND intent将文件附加到电子邮件时(使用额外的流),电子邮件应用程序是否会将附加的文件复制到自己的位置?我的应用程序创建了一个文件并将其附加到电子邮件中,但这种情况可能会发生很多次,我希望能够在不再需要该文件时删除该文件(这样就不会让用户的存储空间充斥垃圾数据)。在电子邮件意图启动后删除文件安全吗?

不安全。如果您只是没有将其保存到媒体库。

为了始终清理用户的存储(SD卡),您可以检查文件的lastModified()日期以确定其保存时间并将其删除

例如:

private void checkTempFiles() {
    Log.d(TAG, "--> checkTempFiles");

    // Check if directory 'YourTempDirectory' exists and delete all files
    String tempDirectoryPath = Environment.getExternalStorageDirectory()
            .toString() + "/YourTempDirectory";
    File dir = new File(tempDirectoryPath);
    // Delete all existing files older than 24 hours
    if (dir.exists() && dir.isDirectory()) {
        String[] fileToBeDeleted = dir.list();
        for (int i = 0; i < fileToBeDeleted.length; i++) {
            File deleteFile = new File(tempDirectoryPath + "/"
                    + fileToBeDeleted[i]);
            Long lastmodified = deleteFile.lastModified();
            if (lastmodified + 86400000L < System.currentTimeMillis()) {
                if (deleteFile.isFile()) {
                    deleteFile.delete();
                }
            }
        }
    }
}
private void checkTempFiles(){
Log.d(标记“-->checkTempFiles”);
//检查目录“YourTempDirectory”是否存在并删除所有文件
字符串tempDirectoryPath=Environment.getExternalStorageDirectory()
.toString()+“/YourTempDirectory”;
文件目录=新文件(tempDirectoryPath);
//删除所有超过24小时的现有文件
if(dir.exists()&&dir.isDirectory()){
字符串[]fileToBeDeleted=dir.list();
for(int i=0;i