Device Module

RhoElements 2.x API

Overview

The Device API provides access to some device-level functionality that is only available on Symbol devices. Such functions include suspend, calibrate, powerOff, wake, reboot and others.

Enabling the API

There are two methods of enabling the Device API:

  • Include all ebapi modules or
  • Include only the API modules you need

For either of these methods, you'll need to include files from the /Enterprise Browser/JavaScript Files/Enterprise Browser directory on the computer that you installed the Enterprise Browser.

Include all JS API modules

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


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

Note: that the pathing for this file is relative to the current page.

This will define the EB class within the page. Any page you need to use the modules will need to have the .js file included in this fashion.

Include only the modules you need

To include single APIs, you must first include the ebapi.js in your HTML as well as the API file you want to use. For instance, to use the Device API, I would add the following code to my HTML file(s), assuming the 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>

The ebapi.js file is necessary for all single API inclusions.

Methods

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)

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.

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

  • Windows Mobile
  • Windows CE

Method Access:

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

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 that some devices may not support all the API's or there is a possiblities of discrepancy across BSP's & 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.