Удаляется кэш приложения после перезагрузки телефона
Суть вопроса - это как сохранить кеш после перезагрузки телефона. Я так понимаю, что кешами управляет ОС, дабы разгрузить память от хлама, но все мои попытки были тщетны. Возможна первопричина моих неудач кроется в неправильном сохранении файла в кеше приложения. и так как я это делаю -
Uri uris = Uri.parse("url song");
DownloadManager downloadmanager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(uris);
request.setTitle(nameTrackTitle);
request.setDescription("Сохранение в Кэш");
String path = context.getCacheDir();
request.setDestinationInExternalFilesDir(context, path, namesTrack + ".mp3" );
downloadmanager.enqueue(request);
Пробовал сохранять в разные папки в от приложения, подпапки и т.д. все было неудачно. Тем не менее файл там сохранялся, я мог его использовать в своем приложении, но после перезагрузки я заходил в эту папку и не наблюдал больше тех файлов, что были до перезагрузки.
Изначально я думал что дело в пути сохранения или в моём примитивном указании path папки, использовал папки входящие в класс Environment и это лишь добавляло новые папки в текущие папки и сохранялось там, но после перезагрузки все повторялось. буду при много благодарен если дадите ответ или статью где бы я мог узнать о своей проблеме более детально.
Ответы (1 шт):
Style-7 был прав, у ManagerDownload нет доступа к данной папке и я прислушался к его ответу и решил испробовать другой способ.
Я использовал библиотеку от Apache Commons IO
FileUtils.copyURLToFile(URL, File)
А если подробнее как я реализовал данный метод то вот мой код:
private File getTempFile(String url, String nameTrack) {
File file = new File(context.getCacheDir + nameTrack);
URL url1;
try {
url1 = new URL(url);
FileUtils.copyURLToFile(url1, file);
} catch (IOException e) {
throw new RuntimeException(e);
}
return file;
}
файл скачался и после тестов в виде перезагрузок телефона файлы остались на месте. Спасибо Style-7 за то, что хоть так помог )))))