MAUI .NET Sample: MAUIPersonalShopperSample

This sample application demonstrates how to manage the Personal Shopper cradle.

Download Source

Product

EMDK For MAUI/Xamarin - 11.1

Devices

All Zebra Enterprise Mobile Computers

Overview

The MAUIPersonalShopperSample demonstrates how to leverage Zebra’s EMDK (Enterprise Mobility Development Kit) within a modern .NET MAUI application application to manage a Personal Shopper cradle on Zebra Android mobile computers. This sample application showcases core functionalities of the Personal Shopper Manager API, including:

  • EMDK Cradle Management: Accesses the Personal Shopper cradle through the PersonalShopperMgr API.
  • Cradle Information: Reads the cradle firmware version, serial and part numbers, hardware ID and manufacture date.
  • Battery Diagnostics: Reads battery state of charge, state of health, time-to-empty and charging times.
  • Cradle Actions: Unlocks the cradle and flashes cradle LEDs, with an optional smooth LED effect.
  • Fast Charging: Enables or disables the fast-charging state of the cradle.
  • EMDK Initialization & Lifecycle: Creates and releases the EMDKManager in alignment with the Android app lifecycle.

Requirements

To build, deploy, and run this sample, ensure the development environment and target hardware meet the following specifications:

  • Framework: .NET MAUI (.NET 10 or later)
  • Target OS: Zebra device running Android 11, 13, 14, 15 or later
  • EMDK Component: Zebra EMDK for MAUI/Xamarin 11.1 or later
  • Development Environment: Visual Studio 2026 or later configured with the .NET Multi-platform App UI development workload.
  • Permissions: com.symbol.emdk.permission.EMDK declared in the Android manifest.

Settings & Actions

Action / Setting Description
Fast Charge Enables or disables fast charging on the cradle.
Smooth Effect Applies a smooth LED transition to the Cradle Unlock and Flash LED's actions when selected.
Cradle Info Retrieves and displays the cradle firmware, serial number, part number, hardware ID and manufacture date.
Diagnostic Info Retrieves and displays the cradle battery diagnostics (charge, health, charging times, etc.).
Cradle Unlock Releases the device from the cradle lock.
Flash LED's Flashes the cradle LEDs a number of times.

Loading the Sample Application

  1. Choose a sample and click See Details.
  2. Click Download.
  3. IMPORTANT: Extract the downloaded project zip file to C:\ (or to the root of an alternate drive).
  4. Navigate to the root of the unzipped project folder and double-click the .sln file to load the project in the default IDE.

Alternatively, launch the preferred IDE and load the project via the File > Open menu.

Running the Sample

Visual Studio detects the connected USB device and displays the device name next to the Play button. Press the Play button next to the device name. The IDE builds, deploys and starts the sample app on the device.

Using the Sample App

  1. Application Launch and EMDK Verification: Launch the MAUIPersonalShopperSample app on the Zebra mobile computer. The application automatically performs asynchronous EMDK initialization. Confirm successful initialization via the status message. On devices without a Personal Shopper cradle, the status indicates that PersonalShopper is not supported.
  2. Select the optional LED and Charge Options:
    • Fast Charge: Select to enable fast charging on the cradle.
    • Smooth Effect: Select to apply a smooth LED transition to Unlock and Flash LEDs.
  3. Read Cradle Information: View the retrieved data displayed in the Status area.
    • Tap Cradle Info to retrieve firmware, serial, part number, hardware ID and manufacture date.
    • Tap Diagnostic Info to retrieve battery diagnostics.
  4. Perform Cradle Actions: Confirm each action viaa the Status message.
    • Tap Cradle Unlock to release the device from the cradle.
    • Tap Flash LED's to flash the cradle LEDs.