SD Card Manager

EMDK For Android - 5.0

Overview

The SD Card Manager (SdCardMgr) controls the use of device storage, primarily as a security measure on devices that support a physically removable storage medium such as a Micro SD Card.

When a device supports physically removable storage, it is sometimes necessary to prevent access to such media so that unwanted software cannot be loaded onto the device or sensitive data be removed. Preventing the use of removable media greatly reduces such risks.

On devices that support a removable storage medium, that medium is the default target of the Usage parameter of this CSP. Otherwise, the Primary Storage Card is the target.

Main Functionality

  • Block/Unblock use of Micro SD Card or Primary Storage Card

Terminology

  • External Storage - collective term referring to any app or data storage mechanism on a Zebra device.
  • Storage Card - any individual storage medium on a Zebra device, be it removable or fixed. Most Zebra Android devices can implement more than one Storage Card.
  • Access paths logically mapped data paths such as /sdcard and /storage for applowing apps to access each of the supported Storage Cards within a device. Paths such as /storage/sdcard0 and /storage/sdcard1 are supported when multiple Storage Cards are implemented.
  • Logical Link - an internally implemented path that links directly to a Storage Card. For example, the path /sdcard0 links to /storage/sdcard0.

Note: While the term "card" might imply a removable medium, the primary (and secondary) "Storage Card(s)" in most Zebra devices are simulated using flash memory that's built into the device and cannot be removed. On devices that support a physically removable medium such a Micro SD Card, such storage will be identified and accessed using similar terminologies.

Variations

  • The number and type of supported Storage Cards and their access paths vary by device, particularly on Jelly Bean.

  • Fewer storage-term variations exist on KitKat devices, and relate mainly to removable memory and the amount of built-in memory on the device.

  • Storage Cards can be accessed in multiple ways, including through built-in privileged System apps, installed unprivileged apps, and from computers using MTP or ADB over USB.

  • If access to a Storage Card is disabled using the SdCardMgr, all access to that Storage Card is blocked, without exception, until access is re-enabled using the SdCardMgr.

  • Removable media can become inaccessible by means other than blockage by this CSP. For example, an unblocked Micro SD Card will be inaccessible if physically removed from the device or if encrypted and the Named Key has been removed from the Key Storage Database (see EncryptMgr).

SD Card Block/Unblock

Used to control access to the Storage Card selected to support this feature on a given device. When Enabled, access to the Storage Card will be completely blocked. On devices that support a removable storage medium, that medium will be the default target of the Usage parameter of this CSP. Otherwise, the Primary Storage Card is the target.

Note: Removable media can become inaccessible by means other than blockage by this CSP. For example, an unblocked Micro SD Card will be inaccessible if physically removed from the device or if encrypted and the Named Key has been removed from the Key Storage Database (see EncryptMgr).

Parm Name: SdCardUsage

Option Name Description Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no change to Storage Card usage on a device.

OSX: 4.3+

MX: 4.3+

1 Enable Blocks access to the Storage Card selected to support this feature on a given device.

OSX: 4.3+

MX: 4.3+

2 Enable the specified persistent profile Unblocks access to the Storage Card selected to support this feature on a given device.

OSX: 4.3+

MX: 4.3+

Examples

Block SD Card Usage


<wap-provisioningdoc>
    <characteristic type="SdCardMgr" version="4.3" >
        <parm name="SdCardUsage" value="1"/>
    </characteristic>
</wap-provisioningdoc>

Queries

Get SD Card Usage status

Input


<wap-provisioningdoc>
    <characteristic type="SdCardMgr" >
        <parm-query name="SdCardUsage"/>
    </characteristic>
</wap-provisioningdoc>

Output (blocked)


<wap-provisioningdoc>
    <characteristic type="SdCardMgr" version="4.3" >
        <parm name="SdCardUsage" value="1"/>
    </characteristic>
</wap-provisioningdoc>