Android supports devices with external storage, which is defined to be a
case-insensitive filesystem with immutable POSIX permission classes and
modes. External storage can be provided by physical media (such as an SD
card), or by exposing a portion of internal storage through an emulation
layer. Devices may contain multiple instances of external storage.
Access to external storage is protected by various Android
permissions. Starting in Android 1.0, write access is protected with the
WRITE_EXTERNAL_STORAGE
permission. Starting in Android 4.1,
read access is protected with the READ_EXTERNAL_STORAGE
permission.
Starting in Android 4.4, the owner, group and modes of files on external
storage devices are now synthesized based on directory structure. This
enables apps to manage their package-specific directories on external
storage without requiring they hold the broad
WRITE_EXTERNAL_STORAGE
permission. For example, the app with
package name com.example.foo
can now freely access
Android/data/com.example.foo/
on external storage devices with
no permissions. These synthesized permissions are accomplished by wrapping
raw storage devices in a FUSE daemon.
Since external storage offers minimal protection for stored data, system
code should not store sensitive data on external storage. Specifically,
configuration and log files should only be stored on internal storage where
they can be effectively protected. Read more...
0 comments:
Post a Comment