2010-04-25 2 views
3

Когда вы прикрепляете файл к электронной почте, используя намерение ACTION_SEND (с дополнительным EXTRA_STREAM), приложение электронной почты копирует прикрепленный файл в свое местоположение? Мое приложение создает файл и прикрепляет его к электронному письму, но это может произойти много раз, и я хотел бы иметь возможность удалить этот файл, когда он больше не нужен (поэтому он не заполняет хранилище пользователя неактивными данными). Безопасен ли файл для удаления после запуска намерения электронной почты?Android ACTION_SEND Прикрепленный файл

ответ

0

Нет, это не безопасно. Если вы не сохранили его в Media Library.

2

Для того, чтобы всегда производить очистку хранилища (SDCard) пользователя, вы можете проверить дату lastModified() файла для возраста givend и удалить его.

Например:

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(); 
       } 
      } 
     } 
    } 
} 
Смежные вопросы