Android ACTION_SEND附加文件

时间:2010-04-25 23:17:48

标签: android email file attachment

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

2 个答案:

答案 0 :(得分:2)

为了始终清理用户的存储空间(SDCard),您可以检查文件的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();
                }
            }
        }
    }
}

答案 1 :(得分:0)

不,这不安全。如果您尚未将其保存到媒体库。