Обработка удаления файла расширения Android (OBB) во время игры

Согласно http://developer.android.com/google/play/expansion-files.html,

Основное действие в вашем приложении (которое запускается значком вашего лаунчера) отвечает за проверку наличия файлов расширения на устройстве и инициирование загрузки, если это не так.

И действительно проверяют наличие ОББ в onCreate методе основной деятельности.

Интересно, как быть с ситуацией, когда OBB присутствует при запуске приложения, но потом, во время игры, пользователь стирает его и возвращается в приложение. И нужно ли мне вообще заботиться?


person Nick    schedule 01.07.2013    source источник
comment
Вы всегда можете проверить, существует ли OBB каждый раз, когда вы получаете доступ к его содержимому, но если ваше приложение много использует ресурсы в OBB, вероятно, очень сложно сделать такое событие некатастрофическим. С этим сталкивался ваш пользователь? Большинство пользователей не решаются просто так открыть файловый браузер и начать удалять каталоги, которые он не понимает, ни с того ни с сего.   -  person Kai    schedule 06.07.2013


Ответы (2)


Я только начал с разработки для Android, но...

Вы должны иметь возможность реализовать http://developer.android.com/reference/android/os/FileObserver.html для отслеживания удаления или перемещения.

Однако, как сказал Кай, большинство людей не удаляют то, о чем не знают. Так что я бы не беспокоился об этом.

person user694844    schedule 09.07.2013

Это может быть так же просто, как проверить, существует ли файл, вы можете легко выполнить File mFile = new File(pathToFile);, а затем выполнить проверку if (!f.Exists()) { //do something }. Вы можете делать это каждый раз при доступе к контенту.

Другой вариант — использовать команды getSystemService(STORAGE_SERVICE); и pass, чтобы увидеть, смонтирован ли OBB или нет. StorageManager android

person MrPancake    schedule 10.07.2013