Ever since Android 4.4, one key change is the external storage. In earlier versions, apps can write to and delete files on either NAND or SD card storage. However this has changed completely since the announcement of Android KitKat.
In Android, almost all storages are regarded as external, including NAND. However this still is a little difference. The NAND is called primary storage and all others are named secondary storage, for instance, SD card. Along with the OS upgrade and improvement, the write permission for each app has shifted tremendously.
For example, in earlier versions, apps can write to either storage. However in a little bit earlier versions, apps can write to primary storage, but the permission to secondary storage is denied. In KitKat, however this has changed a little. Now apps can write to a specific folder in secondary storage. A simple example would be an app names name com.example.foo can write to a folder called Android/data/com.example.foo/, in fact, full permission is granted in this folder. Spaces outside of this folder, however is strictly prohibited.
The good is that once the app is removed from your phone, the files, data generated in this folder will be erased. So you get the very same phone before you install the app, no residue. This will help ensure a smooth Android experience. Always remember to backup the important data and pics before uninstall any app.
Well what if I want an app to write to other folders in addition to the specific location? Well here is an easy solution. Fire up Root Explorer (you need to root your device to gain access to the system folder, however root may void your…) and go to /system/etc/permissions and open platform.xml in edit mode. Then add below line after < group gid="sdcard_rw" />
< group gid="media_rw" />
Now save on exit. It worked on my Galaxy S5. Use in caution at your own responsibility.