How to: Update the firmware of Datalogic devices through the Intents SDK

Starting from SDK ver 1.33 Datalogic has introduced new Intents and new Extras to update the firmware. Since the SDK is Integrated in the device, the Intents are exposed directly from to the device.

Generally speaking, the process to update the firmware with Intents consists of two steps:

  1. Transfer the update file to the device

  2. Call the Intent that starts the update.

The Intent can be:

  • Broadcast Intent:
    Action: com.datalogic.systemupdate.action.FIRMWARE_UPDATE
    Broadcast Receiver: com.datalogic.systemupdate/.SystemUpgradeReceiver

  • Start Service Intent
    Start Service Class: com.datalogic.systemupdate/.SystemUpgradeService

  • Start Activity Intent
    Start Activity Class: com.datalogic.systemupdate/.SystemUpgradeActivity

The Intents can be called with the extras:

  • path : used as a String value to specify the path of the firmware to be used for the upgrade.

  • reboot : used as an int value to request a device reboot after successful update, this extra is very usefull for the device that required a reboot to complete the update.
    1 to request the reboot,
    0 otherwise.

  • reset : used as an int value to request a reset after successful update.
    0 for NONE
    1 for FACTORY RESET
    2 for ENTERPRISE RESET

An exception is the Start Service Intent, that needs an extra called action with value 2 while for the Broadcast and the Start Activity Intents it is implicit (see the examples below).

See the SDK documentation :
ACTION_SYSTEM_FIRMWARE_UPGRADE,
EXTRA_SYSTEM_FIRMWARE_UPGRADE_RESET

Example of the Intents:

adb:

Broadcast Intent:

adb shell am broadcast -a com.datalogic.systemupdate.action.FIRMWARE_UPDATE -n com.datalogic.systemupdate/.SystemUpgradeReceiver --es path /sdcard/skorpioX5_gms-user-ota-3.17.001-3.19.001_INCR.zip --ei reboot 1

Start Service Intent:

adb shell am startservice -n com.datalogic.systemupdate/.SystemUpgradeService --ei action 2 --es path /sdcard/skorpioX5_gms-user-ota-3.17.001-3.19.001_INCR.zip --ei reboot 1

Start Activity Intent

adb shell am start -n com.datalogic.systemupdate/.SystemUpgradeActivity --es path /sdcard/skorpioX5_gms-user-ota-3.17.001-3.19.001_INCR.zip --ei reset 0 --ei reboot 1

SOTI:

Broadcast Intent:

sendintent -b “intent:#Intent;action=com.datalogic.systemupdate.action.FIRMWARE_UPDATE;component=com.datalogic.systemupdate/.SystemUpgradeReceiver;S.path=/sdcard/skorpioX5_gms-user-ota-3.16.001-3.17.001_INCR.zip;i.reset=0;i.reboot=1;end”

Start Service Intent:

sendintent -s “intent:#Intent;component=com.datalogic.systemupdate/.SystemUpgradeService;S.path=/sdcard/skorpioX5_gms-user-ota-3.16.001-3.17.001_INCR.zip;i.action=2;i.reset=0;i.reboot=1;end”

Start Activity Intent:

sendintent -a “intent:#Intent;component=com.datalogic.systemupdate/.SystemUpgradeActivity;S.path=/sdcard/skorpioX5_gms-user-ota-3.16.001-3.17.001_INCR.zip;i.reboot=1;i.reset=0;end”

Previous Intents are valid (Datalogic Android Intents (Legacy) - News - Datalogic Developer Portal ) .

Donato Cataldo
L3 Mobile Computer Support Engineer

2 Likes