URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9967
[ Назад ]

Исходное сообщение
"Android 4.4: запись на SD карту сторонними приложениями"

Отправлено xintrea , 17-Янв-15 13:25 
Я изредка занимаюсь разработкой под Android (на Qt). Недавно узнал, что Гоголь заблокировал для сторонних приложений возможность записи на внешнюю SD-карту. А чтобы писать на SD, нужно рутование девайса.

Таким образом, я не могу заставить свое приложение нормально работать на железке, так как данные занимают около 1Гб, а на внутренней памяти места нет.

Нашел следующее решение:

Как в Android 4.4 KitKat разрешить запись на SD карту без рутования
http://webhamster.ru/mytetrashare/index/mtb0/1421490641w34hn...

На примере Яндекс Карт.

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”? Или его обязательно нужно вручную создавать через системный файловый менеджер? Сейчас проверить не могу, может кто-то уже пробовал, что получилось?


Содержание

Сообщения в этом обсуждении
"Android 4.4: запись на SD карту сторонними приложениями"
Отправлено pavlinux , 20-Янв-15 04:23 
> Недавно узнал, что Гоголь заблокировал для сторонних приложений возможность записи на внешнюю SD-карту.

Где это ты узнал?


Причем тут программирование?

> Вопрос в следующем. Может ли программа САМА создать свой каталог с именем
> типа “/storage/sdcard1/Android/data/ru.yandex.yandexmaps”? Или его обязательно
> нужно вручную создавать через системный файловый менеджер? Сейчас проверить не могу,
> может кто-то уже пробовал, что получилось?

Когда пишешь программу в манифесте указываешь нужные пермишоны

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

File MapDir = new File(Environment.getExternalStorageDirectory().toString()+"/Android/data/ru.yandex.yandexmaps");
MapDir.mkdirs();

Там ещё кучу проверок надо перед записью http://developer.android.com/reference/android/os/Environmen...