Ako povoliť aplikácii na androide zápis na micro SD-kartu, USB kľúč alebo externý disk, keď si sama nevie požiadať o povolenie?
Android občas z neznámych príčin neudeľuje povolenie aplikáciám zapisovať hocikam na externé médium, ktoré je pripojené k zariadeniu.
Konkrétne sa jedná o povolenie: android.permission.WRITE_MEDIA_STORAGE.
Dá sa to riešiť rootom a to povolenie im ručne pridať.
Aplikácie ako Kodi, Flud, Wifi FTP atď. majú potom plný read-write (čítanie-zápis) prístup na usb/externý disk. Bez rootu majú len právo na čítanie údajov. Vlastne majú aj na zápis, ale len do vlastného priečinku konkrétnej aplikácie v:
/storage/meno úložiska/Android/data/priečinok appky/
Pravdepodobne ide o nejaké bezpečnostné obmedzenie, ktorému nerozumiem, lebo na telefóne si môžem zapisovať kam chcem a všetko funguje aj tak.
Zatiaľ som sa stretol s týmito scenármi:
1. Appka si vyžiada (keď vie) povolenie od vstavaného android file managera (či čo je to), cez ten treba vybrať konkrétne úložisko alebo adresár a voilà, funguje write na úložisko. Zatiaľ som sa s tým stretol len u 2-3 aplikáciách.
2. Appka si nevie vyžiadať povolenie (asi na to nie je pripravená, že ho od systému automaticky nedostane), zostáva zapisovať len do /storage/XY/Android/data/priečinok appky/
3. Appka si nevie vyžiadať povolenie, ale máme root, tak jej ho externe dáme a voilà, funguje write na úložisko.
4. Appka si požiada o root, následne si sama nastaví oprávnenia aké potrebuje a voilà, funguje write na úložisko.
V prípade, že chceme mať plný prístup k externému úložisku a nie len k jednému priečinku, potrebujeme:
1. ROOT – Treba mať root zariadenia a správcu súborov (napr. ES file manager alebo Total Commander) ,ktorý vie robiť s root oprávneniami.
2. Treba nájsť súbor v koreňovom adresári:
/data/system/packages.xml.
3. V súbore packages.xml treba vyhľadať tento riadok a kopírovať ho:
<item name=“android.permission.WRITE_MEDIA_STORAGE“ granted=“true“ flags=“0″ />
4. V tom istom súbore nájsť nižšie podľa ,,package name“ appku, ktorej chcem dať právo na zápis a pridať kopírovaný riadok do zoznamu medzi ostatné povolenia.
5. Uložiť súbor a reštartovať zariadenie.
Následne bude mať aplikácia plný prístup k externým médiám.
Nevýhoda tohto postupu je však tá, že pri aktualizácii aplikácie sa povolenie zmaže, takže ho treba opätovne pridať.