Запись на карту памяти из приложений Android

Jul 02, 2016 09:51

Начиная с некоторой версии Android запретил приложениям писать на внешнюю карту памяти. Оторвать бы яйца тому умнику, который это придумал. В итоге масса приложений перестали работать, так как не могут писать туда, куда им оно надо.

Конечно, разработчики это учли, и в новых версиях приложений эта проблема обойдена. Проблема с приложениями, которые больше не поддерживаются, но которые всё ещё нужны. Для меня актуален rmaps - лучшая из навигационных программ, но к сожалению автор давно уже не подаёт признаки жизни.

Выяснилось однако, что приложения всё же могут писать на внешнюю карту, но исключительно в СВОЮ папку. Так что если в приложении можно указать настройки, в какую папку писать - тогда проблема решена. Папка должна быть вот какая. Заходим на саму карту памяти, это например /storage/SDcard (это название бывает разное у разных производителей планшетов). Отсюда заходим в папку Android и далее в data. Здесь создаём папку с именем, которое совпадает с ID приложения. Вот в эту (и только в эту) папку ваше приложение сможет писать. Остаётся маленькая проблемка - узнать ID вашего приложения.

Если оно есть на плей-маркете, тогда всё просто. Заходите на страницу этого приложения, например https://play.google.com/store/apps/details?id=ru.yandex.yandexmaps. Часть URL которая идёт после "id=" это и есть нужный нам ID. В нашем примере будем создавать папку /storage/SDcard/Android/data/ru.yandex.yandexmaps

Правда, если приложение есть на маркете, оно скорее всего и так поддерживается (и проблема с папками уже пофиксена). Если же оно не поддерживается, тогда и на маркете его скорее всего нет. Что тогда делать - в общем случает непонятно.
Для своего любимого rmaps я решил проблему так: нашёл в кэше гугла адрес этого приложения, ещё с тех времён когда оно было на маркете. ID у него такой: com.robert.maps

Ура! Навигатор снова работает!

sd card, android, rmaps, application id, sd

Previous post Next post
Up