Device

Enterprise Browser 4.0

Overview

The Device API provides access to some device-level functionality such as suspend, calibrate, powerOff, wake, reboot etc. Available only on Zebra devices.

Enabling the API

There are two methods of enabling the Device API:

  • Include all ebapi modules
  • Include only the required API modules

For either of these methods, files must be copied to the device from the /Enterprise Browser/JavaScript Files/Enterprise Browser directory on the computer that contains the Enterprise Browser installation and referenced from within the application's HTML.

Include all API modules

To include all JavaScript APIs, copy the ebapi-modules.js file to a location accessible by the app's files and include the JavaScript modules file in the app. For instance, to include the modules file in the index.html file, copy the file to the same directory as the index.html and add the following line to the HEAD section of the index.html:

    
    <script type="text/javascript" charset="utf-8" src="ebapi-modules.js"></script>

The code above defines the EB class within the page. Note that the path for this file is relative to the current page (index.html). Any page on which the modules are required must include a reference to the required .js file(s) in this fashion.

Include only the required modules

To include individual APIs, first include a reference to the ebapi.js module in the HTML, and then the additional required API file(s). For instance, to use the Device API, add the following code to the HTML file(s). Again, this assumes that relevant API files have been copied to the same directory as the HTML.


<script type="text/javascript" charset="utf-8" src="ebapi.js"></script>
<script type="text/javascript" charset="utf-8" src="eb.device.js"></script>

In the lines above, notice that ebapi.js is included first, followed by eb.device.js, which is the Device API for Enterprise Browser. This coding is required on each HTML page whenever an individual API will be called from that page.


Properties

Type

BOOLEAN

Description

Controls display of the Android Navigation Bar (sometimes known as the System Bar) on the device, which contains the BACK, HOME and RECENT soft keys. Suported on EB 3.0.6.0 and later.

Access

  • Class: This property is accessed via the API class object:
    • EB.Device.navigationBarVisibility=true;
    • EB.Device.navigationBarVisibility=false;

Params

Default: true

Disable: false

Platforms

  • Android

Methods

acquirePartialWakeLock()

This API is used for acquiring partial wake lock in Android device. It ensures that the CPU is running; the screen and keyboard backlight will be allowed to go off, if the user presses the power button. Note: On calling this method, the wakelocktype tags will be affected.

Parameters

  • callback : CallBackHandler

Returns

Synchronous Return:

  • Void

Platforms

  • Android

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.acquirePartialWakeLock()

calibrate()

Carries out the screen calibration routine.

Parameters

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      Whether or not the calibration was successfully done, status will be 'success' or 'failed'.

    • message : STRING

      If 'status' == 'success', the message will contain 'Calibration was done succesfully.' and if 'status' == 'failed', the message will contain 'Calibration was failed.'.

Returns

Synchronous Return:

  • Void

Platforms

  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.calibrate()

idle()

Puts the device into idle mode. In this mode, the screen display is turned off. Callback is triggered only for 'failed' status.

Parameters

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      If the mode of the device was not changed to idle mode, status will be 'failed'. In all other cases, it will remain empty.

    • message : STRING

      If 'status' == 'failed', the message will contain an error message. In all other cases, it will remain empty.

Returns

Synchronous Return:

  • Void

Platforms

  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.idle()

powerOff()

Puts the device into power off mode. In this mode the device will draw no power. Only supported on SB1. Callback is triggered only for 'failed' status.

Parameters

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      If the powerOff was unsuccessful, status will be 'failed'. In all other cases, it will remain empty.

    • message : STRING

      If 'status' == 'failed', the message will contain an error message. In all other cases, it will remain empty.

Returns

Synchronous Return:

  • Void

Platforms

  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.powerOff()

reboot(STRING bootType)

Reboots the terminal. On WM/CE, it reboots the terminal using either a Warm or Cold software boot (as specified). Note on CE6 devices a "ColdCAD" boot is required to replicate the Coldboot key sequence, e.g. 1+9+Power on an MC3000. Callback is triggered only for 'failed' status. Parameter bootType and callback is not supported on Android platform.

Parameters

  • bootType : STRING

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      If the reboot was unsuccessful, status will be 'failed'. In all other cases, it will remain empty.

    • message : STRING

      If 'status' == 'failed', the message will contain an error message. In all other cases, it will remain empty.

Returns

Synchronous Return:

  • Void

Platforms

  • Android
  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method:

    • On WM/CE, this method can only be accessed via the API class object.

      • EB.Device.reboot(STRING bootType)
    • On Android, this method can only be accessed via the API class object.

      • EB.Device.reboot()


releasePartialWakeLock()

This API is used for releasing the acquired partial wake lock in Android device. Note: On calling this method, the wakelocktype config tags will be affected.

Parameters

  • callback : CallBackHandler

Returns

Synchronous Return:

  • Void

Platforms

  • Android

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.releasePartialWakeLock()

sendKey(keyCode)

Sends UP and DOWN key events to the currently focused window/view and waits for it to be processed. This method can be used to send single or multiple keyevents/key-combinations programmatically through JavaScript.

Parameters

Keycode

  • STRING

  • Specifies the identifier of the key to be injected. This value is the operating system's identifier for the key, not the ASCII representation of the key (for example, the 'a' key on Android Mobile devices has a keycode of 29). This parameter must be passed as a string (for example '101').

Callback

  • null

Returns

  • Synchronous Return:
  • Void

Platforms

  • Android

Method Access

  • Class Method: This method can only be accessed via the API class object.
    • device.sendKey(“29”);

suspend()

Puts the device into suspend mode. On suspend, the device goes to hibernation mode. Callback is triggered only for 'failed' status. In some devices, the suspend doesnot happen instead it puts the device into an idle state.

Parameters

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      If the suspend was unsuccessful, status will be 'failed'. In all other cases, it will remain empty.

    • message : STRING

      If 'status' == 'failed', the message will contain an error message. In all other cases, it will remain empty.

Returns

Synchronous Return:

  • Void

Platforms

  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.suspend()

wake()

In WM/CE, wakes the device from idle state to active state. Callback is triggered only for 'failed' status. In Android, it will turn on the display, if it was off. The callback parameter is ignored in Android platform.

Parameters

  • callback : CallBackHandler

Callback

Async Callback Returning Parameters: HASH

    • status : STRING

      In WM/CE, if the wake was unsuccessful, status will be 'failed'. In all other cases, it will remain empty.

    • message : STRING

      In WM/CE, if 'status' == 'failed', the message will contain an error message. In all other cases, it will remain empty.

Returns

Synchronous Return:

  • Void

Platforms

  • Android
  • Windows Mobile
  • Windows CE

Method Access:

  • Class Method: This method can only be accessed via the API class object.
    • EB.Device.wake()

Remarks

General

Note: Some devices might not support all APIs; discrepancies sometimes exist across BSPs and/or platforms.

Power Off

Note that some devices may not support power off feature. Those devices may either throw an error message or it may enter into Sleep mode.

Reboot

Note that in WM5.0 and above, there is no software difference between a warm and a cold boot as the device uses persistent storage; both the file and registry will remain the same after boot. In WM/CE, not all device support Cold or ColdCAD feature. Device may warm boot even though any of these option has been selected.

Interaction with Unattended Method of the Push Module

The suspend functionality is incompatible with the unattended functionality of the push module and they should not be used together.

wake Method

The wake functionality can be used along with Push module. For eg: in the push detected event the user can call the wake method to wake the device.