Я изредка занимаюсь разработкой под Android (на Qt). Недавно узнал, что Гоголь заблокировал для сторонних приложений возможность записи на внешнюю SD-карту. А чтобы писать на SD, нужно рутование девайса.
Таким образом, я не могу заставить свое приложение нормально работать на железке, так как данные занимают около 1Гб, а на внутренней памяти места нет.
Нашел следующее решение:
Как в Android 4.4 KitKat разрешить запись на SD карту без рутования
На примере Яндекс Карт.
1. Идем в магазин #Google Play Store, открываем страничку нужного приложения и видим его ключевое название (ID) в адресной строке, в нашем случае из “https://play.google.co…d=ru.yandex.yandexmaps” понятно, что название/ID приложения “ru.yandex.yandexmaps”
2. Создаем через системный файловый менеджер (который идет с официальной прошивкой и может писать и удалять на карте где угодно) папочку для данных нашего приложения в формате “/storage/sdcard1/Android/data/myappname” – в нашем случае с картами Яндекса будет “/storage/sdcard1/Android/data/ru.yandex.yandexmaps”.
3. Запускаем приложение и в нем указываем созданную папку, при необходимости (в случае карт Яндекс это требуется) – перезапускаем приложение.
4. Получаем профит – карты отлично скачиваются и сохраняются на внешнюю карту.
И так для любого приложения и без всякого рута!
Вопрос в следующем. Может ли программа САМА создать свой каталог с именем типа “/storage/sdcard1/Android/data/ru.yandex.yandexmaps”? Или его обязательно нужно вручную создавать через системный файловый менеджер? Сейчас проверить не могу, может кто-то уже пробовал, что получилось?