Camera Manager

To display only the features present on a particular device, select one or more filters from the SmartDocs bar below.

Input fields accept ENGLISH ONLY.

Queries from MX are not supported on Zebra devices running Android 11 or later. See alternative method.

StageNow - 5.12

Overview

The CameraMgr controls access to camera(s) and other mechanisms on the device that are capable of capturing images. Many Zebra Android products are equipped with devices that can be used to take pictures, scan barcodes or otherwise capture or acquire data, documents and images. For secure environments, CameraMgr can be used to restrict picture-taking and document capture and eliminate potential security risks posed by cameras and non-camera devices.

Important: Any mechanism on a device that can be used to take pictures or otherwise capture images is treated as a camera by CameraMgr. For example, if a device is equipped with a CCD-based imager that is intended primarily to scan barcodes but also supports some means to take pictures, that imager's picture-taking capabilities can be disabled with the UseAllCameras (enable/disable) parameter. Its barcode scanning capabilities will remain operational if doing so does not expose the ability to take pictures. If such a device offers only the ability to scan barcodes, it would not be treated as a camera since it poses little risk to image security.

Main Functionality

  • Enable/disable the use of all cameras and image-capture devices
  • Enable/disable the front-facing camera
  • Enable/disable the rear-facing camera
  • Enable/disable the imager camera
  • Report which cameras and image-capture devices are enabled/disabled

Notes

  • Capturing images from the Imager using Camera APIs is not supported on devices running Android 8.x (Oreo) or later.
  • Limited support for picture-taking using non-camera devices may be available on devices running Android 5.x or later.
  • Blocking some or all cameras also might inhibit barcode scanning using those cameras if barcode scanning would directly or indirectly expose the ability to take pictures.
  • Blocking some or all cameras also might inhibit use of SimulScan using those cameras since some or all functions of SimulScan might rely on or expose the ability to take pictures.
  • Blocking the imager on devices running Android 5.x disables SimulScan.

Zebra Camera App

The Zebra Camera App (ZCA) is an image capture app pre-installed on all Zebra devices running Android 13 (and later) and on some devices running Android 11 (see below). ZCA settings can be configured locally by the device user or remotely by pushing a JSON file to the device. File-based settings override those configured by the device user, and also can be set to block user access to certain parameters. Instructions and configurable parameters are shown below.

Requirements

  • Zebra Camera App 2.4.7 (or later)
  • 4490-platform devices:
    • Android 13
  • 5430-, 6375- and 6490-platform devices:
    • Android 13
    • Android 11

See a list of Zebra devices by platform


Sample JSON

Below is a sample config.json file. When the file is pushed to a supported device, the Zebra Camera App on its next launch is configured according to those settings, overriding the defaults or any settings made by the device user. The section that follows contains a table with possible values for each parameter along with ZCA notes and behaviors, and a synopsis of the file deployment process.

    

    {"CameraActionType":
        [
            {
                "CameraAction":"GoogleLensUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"GoogleLens",
                "CameraActionValue":"on"
            },
            {
                "CameraAction":"QRCodeModeUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"QRCodeMode",
                "CameraActionValue":"off"
            },
            {
                "CameraAction":"ThumbnailUsage",
                "CameraActionValue":"disable"
            },
            {
                "CameraAction":"ShutterSoundsUsage",
                "CameraActionValue":"do not change"
            },
            {
                "CameraAction":"ShutterSounds",
                "CameraActionValue":"off"
            },
            {
                "CameraAction":"LocationTagUsage",
                "CameraActionValue":"do not change"
            },
            {
                "CameraAction":"LocationTag",
                "CameraActionValue":"on"
            },
            {
                "CameraAction":"DLDUsage",
                "CameraActionValue":"disable"
            },
            {
                "CameraAction":"DLD",
                "CameraActionValue":"do not change"
            },
            {
                "CameraAction":"StoragePathUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"StoragePath",
                "CameraActionValue":"SDCard"
            },
            {
                "CameraAction":"Flash",
                "CameraActionValue":"on"
            },
            {
                "CameraAction":"SettingsUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"CameraSwitcherUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"PictureSizeUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"PictureSize",
                "CameraActionValue":"wvga"
            },
            {
                "CameraAction":"PictureQualityUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"PictureQuality",
                "CameraActionValue":"low"
            },
            {
                "CameraAction":"MFNR",
                "CameraActionValue":"do not change"
            },
            {
                "CameraAction":"AutoHDR",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"VideoQualityUsage",
                "CameraActionValue":"enable"
            },
            {
                "CameraAction":"VideoQuality",
                "CameraActionValue":"hd"
            },
            {
                "CameraAction":"QuickSettingsUsage",
                "CameraActionValue":"disable"
            },
            {
                "CameraAction":"RestoreDefaultUsage",
                "CameraActionValue":"enable"
            }
        ]
    }

Deployment

  1. Create a config.json file (or edit the above sample) with values for the desired ZCA configuration.
  2. Push the file to the device using Zebra Secure Storage Manager (SSM).
  3. In the staging tool* of choice, create a deployment Profile using File Manager (or the EMM equivalent) and generate barcode(s) or XML/eXML.
  4. Apply the Profile to device(s) either by scanning barcode(s) with the device or pushing XML/eXML to be executed remotely.
    * Supports Zebra DNA Cloud, OEMConfig and StageNow, or a company's own EMM system.

Settings take effect next time Zebra Camera App is launched.

For deployment details, see Using SSM with Zebra Apps.


Notes and Behaviors

  • Changes to Zebra Camera App settings by the device user are temporary. Settings in the on-device config file are applied each time the app is launched.
  • Settings contained in the config file are ignored if their corresponding feature(s) are not present on the device (e.g. GoogleLens).
  • To return the Zebra Camera App to its default settings delete the config.json file from the device and relaunch.
  • The Camera Manager MX component has no effect on the Zebra Camera App or access to its features by the device user.

Configurable Parameters

CameraAction Possible Values Description
GoogleLensUsage enable
disable
Do not change
Select whether the device user is allowed to change the state (turn on/off) of Google Image Recognition within camera app on device
GoogleLens on
off
do not change
Select whether to use Google Image Recognition when performing a search using Camera App on device
QRCodeModeUsage enable
disable
do not change
Select whether the device user is allowed to change the state (turn on/off) of QR Code scanning
QRCodeMode on
off
do not change
Select whether to turn on/off QR Code scanning
ThumbnailVisibility enable
disable
do not change
Select whether the admin can show the option to click and preview last captured photo/video within camera app on device
ShutterSoundUsage enable
disable
do not change
Select whether the device user is allowed to change the state (turn on/off) of a short sound when shutter button is pressed within Camera app on device
ShutterSound on
off
do not change
Select whether to play a short sound when the shutter button is pressed in the Camera app
LocationTagUsage enable
disable
do not change
Select whether the device user is allowed to change the state (turn on/off) of adding coodinates data to captured image/video on device
LocationTag on
off
do not change
Select whether to turn on/off adding coodinates data to captured image/video
DLDUsage enable
disable
do not change
Select whether the device user is allowed to change the state (turn on/off) of a notification regarding a dirty camera lens
DLD Select whether to turn on/off a notification regarding a dirty camera lens on
off
do not change
StoragePathUsage enable
disable
do not change
Select whether the device user is allowed to change the path for saving captured media
StoragePath sdcard
phone
do not change
Enter path for saving captured media (default is internal device storage)
Flash on
off
auto
do not change
Select how the Camera LED behaves during image/video capture
SettingsUsage enable
disable
do not change
Select whether the device user is allowed to open the Camera Settings menu
PictureSizeUsage enable
disable
do not change
Select whether the device user is allowed to set the image resolution
PictureSize 16mp
8mp
wvga
vga
qvga
do not change
Select the image size to set as the default when the Camera app opens
PictureQualityUsage enable
disable
do not change
Select whether the device user is allowed to set detail level of captured images
PictureQuality low
standard
high
do not change
Select image level of detail to set as the default when the Camera app opens
MFNR on
off
do not change
Select whether to Turn On/Off Multi-Frame Noise Reduction, which captures and combines multiple images to help improve picture quality
AutoHDR on
off
do not change
Select whether to Turn On/Off high dynamic range, which automatically balances light and dark scenes to help improve quality of captured images
VideoQualityUsage enable
disable
do not change
Select whether the device user is allowed to set the resolution of captured videos
VideoQuality uhd
fhd
hd
sd
cif
do not change
Select the video resolution to set as the default when the Camera app opens
QuickSettingsUsage enable
disable
do not change
Select whether the device user is allowed to set configurations available through Quick Settings
RestoreDefaultUsage enable
disable
do not change
Select whether the device user is allowed to restore Camera app settings to default values

Value Definitions

  • Usage parameters:
    • Enable allows device user to control the state (on/off) of the feature.
    • Disable prevents the device user from changing the state (on/off). Setting appears "greyed out" in camera UI.
  • Feature state:
    • On activates the feature.
      A flash setting of "on" illuminates the flash whenever a picture is taken.
    • Off deactivates the feature.
      A flash setting of "off" prevents the flash when a picture is taken.
    • Auto illuminates the flash when a low-light condition is detected by camera sensors.

All Cameras Enable/Disable

Used to enable or disable use of all cameras and other mechanisms classified as cameras on the device. Using this parameter to "Disable ALL Cameras" will prevent a device from taking pictures by any means, even if an application exists on the device to do so. Note: On some devices, disabling all cameras also might disable the SimulScan app and/or scanners and devices not explicitly listed as cameras and/or not intended for the purpose of taking pictures.

Limited support for picture-taking using non-camera devices may be available on devices running Android L or higher.

Important: This parameter controls all mechanisms on a device that CameraMgr classifies as cameras, even if the device has more cameras than can be controlled using individual CameraMgr parameters. For example, if a device is equipped with front- and rear-facing cameras and a side-facing imager that can capture documents, all three devices would be classified as cameras, and would therefore be enabled or disabled together using this parameter. In this case, the side-facing imager could never be controlled individually without first enabling all three "cameras" and then disabling the front- and rear-facing cameras using their respective parameters.

It's also important to note that enabling or disabling all cameras might override a prior such command by an individual camera app or might be overridden for individual cameras by subsequent commands issued by other apps using the CameraMgr.

Cameras and other imaging devices enabled or disabled previously by CameraMgr will remain in that state until explicitly commanded to do otherwise.

Parm Name: UseAllCameras

Option Name Description Note Status Requires
0 Control Individual Cameras This value (or the absence of this parm from the XML) causes no change to whether any of the device's cameras are individually enabled or disabled, only whether they CAN be enabled or disabled by a subsequent command from another parm. A zero or null value here permits the front- and rear-facing cameras to be controlled individually by their respective parms. Cameras and other imaging devices enabled or disabled previously by CameraMgr will remain in that state until explicitly commanded to do otherwise.

OSX: 3.5+

MX: 4.3+

1 Enable ALL Cameras Enables all cameras and peripherals classified as cameras, allowing any camera to take pictures or otherwise acquire documents or images if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

2 Disable ALL Cameras Disables all cameras and peripherals classified as cameras, preventing the device from taking pictures or otherwise acquiring documents or images, even if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

Front Camera Enable/Disable

Controls use of the front-facing camera on the device. If the device is not equipped with a front-facing camera, use of this parm will return an error in the Result XML document.

Status: Deprecated. This feature will be discontinued in devices running Android 13 and later.

Shown if: Use All Cameras is set to "Control Individual Cameras"

Parm Name: UseFrontCamera

Option Name Description Note Status Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to whether the front-facing camera can be used on the device; any previously selected setting will be retained.

OSX: 3.5+

MX: 4.3+

1 Enable Enables use of the front-facing camera on the device, allowing that camera to take pictures or otherwise acquire documents or images if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

2 Disable Disables use of the front-facing camera on the device, preventing the device from taking pictures or otherwise acquiring documents or images, even if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

Rear Camera Enable/Disable

Controls use of the rear-facing camera on the device. If the device is not equipped with a rear-facing camera, use of this parm will return an error in the Result XML document.

Status: Deprecated. This feature will be discontinued in devices running Android 13 and later.

Shown if: Use All Cameras is set to "Control Individual Cameras"

Parm Name: UseRearCamera

Option Name Description Note Status Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to whether the device's rear-facing camera can be used; any previously selected setting will be retained.

OSX: 3.5+

MX: 4.3+

1 Enable Enables use of the rear-facing camera on the device, allowing that camera to take pictures or otherwise acquire documents or images if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

2 Disable Disables use of the rear-facing camera on the device, preventing the device from taking pictures or otherwise acquiring documents or images, even if an application exists on the device to do so.

OSX: 3.5+

MX: 4.3+

Imager Camera Enable/Disable

Controls whether the imager on the device, if so equipped, can be used to take pictures. If the device is not equipped with an imager or the ability to take pictures using the imager, use of this parameter will return an error in the Result XML document.

Blocking the imager on devices running Android 5.x (Lollipop) disables SimulScan.

Note: Capturing images with the Imager using Camera APIs is not supported on devices running Android 8.x Oreo or later.

Status: DISCONTINUED. This feature is not supported on devices running Android 8.x or later.

Shown if: Use All Cameras is set to "Control Individual Cameras"

Parm Name: UseImagerCamera

Option Name Description Note Status Requires
0 Do not change This value (or the absence of this parm from the XML) will cause no changes to whether the device's imager can be used to take pictures; any previously selected setting will be retained.

OSX: 5.0+

MX: 6.0+

1 Enable Controls whether the imager on the device (if so equipped) can be used to take pictures.

OSX: 5.0+

MX: 6.0+

2 Disable Disables use of the imager on the device (if so equipped) for taking pictures. This allows scanning to continue while preventing the imager from taking pictures, even if an application exists on the device to do so.

OSX: 5.0+

MX: 6.0+

Examples

Enable all cameras:


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


Disable all cameras:


<wap-provisioningdoc>
    <characteristic type="CameraMgr" version="4.3" >
        <parm name="UseAllCameras" value="2"/>
    </characteristic>
</wap-provisioningdoc>


Enable the front-facing camera:


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


Disable the rear-facing camera:


<wap-provisioningdoc>
    <characteristic type="CameraMgr" version="4.3" >
        <parm name="UseRearCamera" value="2"/>
    </characteristic>
</wap-provisioningdoc>


Disable the front-facing camera and enable the rear-facing camera:


<wap-provisioningdoc>
    <characteristic type="CameraMgr" version="4.3" >
        <parm name="UseFrontCamera" value="2"/>
        <parm name="UseRearCamera" value="1"/>
    </characteristic>
</wap-provisioningdoc>


Queries

Queries are not supported on Zebra devices running Android 11 or later.

Get status of "Use All Cameras" parameter:

Input


<wap-provisioningdoc>
    <characteristic type="CameraMgr" >
        <parm-query name="UseAllCameras"/>
    </characteristic>
</wap-provisioningdoc>

Output


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


Get status of "Use Front Camera" parameter:

Input


<wap-provisioningdoc>
    <characteristic type="CameraMgr" >
        <parm-query name="UseFrontCamera"/>
    </characteristic>
</wap-provisioningdoc>

Output


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


Get status of "Use Rear Camera" parameter:

Input


<wap-provisioningdoc>
    <characteristic type="CameraMgr" >
        <parm-query name="UseRearCamera"/>
    </characteristic>
</wap-provisioningdoc>

Output


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