2015-01-14 3 views
0

Это скорее дизайн, чем технический вопрос ... На KitKat Google заблокировал запись на SD-карты, за исключением назначенной папки приложений. Это нормально для приложений, которые просто показывают контент, но как насчет приложений, которые генерируют контент (я имею в виду, что пользователи создают контент с помощью этого приложения: документы, базы данных, данные статистики)? Меня беспокоит, что если приложение удалено, все данные стираются системой. Такое поведение не ожидается большинством пользователей, они просто не об этом подумают. И что делают пользователи, когда приложение не работает так, как они ожидают? Да, попробуйте переустановить его в качестве первого решения. Потеря всех файлов пользователя! Резервное копирование в облаке может быть вариантом, но хранилище SD первично используется для больших файлов, было бы дорого сделать резервную копию их по мобильной сети.Как сохранить контент, созданный пользователем на KitKat +?

Итак, вопрос заключается в разработчиках таких приложений: какой подход вы предприняли для преодоления этих последствий ограничения?

ответ

0

так же, как всегда было

File folder = new File(Environment.getExternalStorageDirectory(), "/myApp/"); 
folder.mkdirs(); 
File file = new File(folder, "file.jpg"); 

// open output stream and write to it... works fine... 

, который работает, как он должен на любой версии Android.

Насколько я понял, ограничение на KitKat заключается в том, что после того, как вы позвонили folder.mkdirs();, другие приложения не смогут получить к нему доступ. В Android для каждого приложения создается новый пользователь, который контролирует/блокирует разрешения, поэтому я считаю, что изменение в KitKat (действительно не уверенное и просто угадающее здесь) заключается в том, что каждое создание файла отмечает этот файл как чтение/запись владелец и никто другой.

 Смежные вопросы

  • Нет связанных вопросов^_^