Tuesday, February 18, 2014

Android 4.4 discovered to restrict apps from writing anywhere on external storage

Juan Carlos Torres

Considering how long Android 4.4 has been out in the wild, this might not actually be a new feature, or misfeature if you prefer. But it was only recently noticed that Android's latest external storage policy has been updated and will basically limit apps in writing to external SD cards.

Filesystem access has been a rather thorny subject and has usually split the lines not only between Android and iOS but even between Android users themselves. On one hand, it seems almost inconceivable how iOS users have survived this long with very limited access to their own files. On the other hand, there are those who consider this desktop-like access to files and folders not only messy but also highly prone to errors and damages. The situation on Android is exacerbated by the fact that Android supports external storage, normally SD cards, unlike iPhones or iPads. Google itself seems to be leaning towards a "one internal storage to rule them all" stance, as evidenced by its Nexus devices.

Google did concede and allowed access to external storage, since Android 1.0 even, but write access has been limited with the special WRITE_EXTERNAL_STORAGE permission. In Android 4.1 it also limited even read access with a new READ_EXTERNAL_STORAGE permission. Now it seems that Google is tightening the reins even more. Starting Android 4.4, WRITE_EXTERNAL_STORAGE has been modified to severely limit what apps can do on an external storage device. Now the permission will allow apps to write on an SD card only within its own app-specific directory.

The WRITE_EXTERNAL_STORAGE permission must only grant write access to the primary external storage on a device. Apps must not be allowed to write to secondary external storage devices, except in their package-specific directories as allowed by synthesized permissions

To clarify, Google calls SD card storage as "secondary external storage" and what users usually think of as internal storage is technically called "primary external storage".

In essence, this means that apps are severely limited in what they can accomplish on external storage. They are, of course, free to do whatever they want, both read and write, within their own app directory on the SD card. This is also a bit of security measure, as one app cannot write into the files and folders owned by another app. Unfortunately, this also means certain apps, particularly file managers, are no longer free to create, delete, or rename files in arbitrary locations on the SD card.

It remains to be seen how this restriction, now that it has come to light, will be taken by the Android community, though initial reaction has already been very negative. Given Google's exertion of more control over certain parts of Android, it is likely that manufacturers will just comply. Surprisingly, it has been reported that one of those implementing this is Samsung, hardly a poster boy for Android compliance. There might other ways to get around this restriction, like rooted devices for example, but regular users might be just forced to adapt to a new paradigm, for better or worse.

SOURCE: +Tod Liebeck, Google



source: androidcommunity

0 comments :