Honeywell Mobility SDK for Flutter

The Mobility SDK includes tools and resources that leverage functionality unique to Honeywell Android mobile computers, such as barcode scanning.

How Honeywell Mobile Computer makes barcode scanning easy ?

Honeywell’s highly accurate and adaptable barcode readers offer superior barcode scanning performance and data capture.

Versatile Honeywell barcode readers fit multiple enterprise workflows and offer a variety of configurations. Whether they are positioned at the point of sale, stationed above a warehouse conveyor belt or mounted on a wall for quick accessibility, our intuitive barcode readers give enterprises the freedom to deploy them to fit their business-critical needs.

With industry-leading scanning performance, Honeywell barcode readers can rapidly and accurately read even damaged barcodes to keep workflows optimized and on schedule.

Barcode scanners from Honeywell feature high-performance barcode readers that provide exceptional data collection and barcode scanning. They are distinguished and flexible and come in a range of configurations for different organisational workflows. Furthermore, their exceptional scanning capability does not over-complicate the system. They can operate in a variety of business applications, including asset and inventory tracking.

Supported Devices


Add the following line to android/app/build.gradle:

dependencies {
    implementation 'com.github.AcmeSoftwareLLC:hwmsdk-android:main-SNAPSHOT' // add this line


final barcodeReader = await HoneywellMobilitySdk.createBarcodeReader(
  onRead: (event) {
  onFailure: (event) {
  onTrigger: (event) {

barcodeReader.claim(); // Once claiming the barcode reader, the callbacks will be active.

Note: The barcode reader will be null if the device does not support the barcode scanning.

Scanning with software trigger

// true behaves as if the trigger was pressed, false behaves as if the trigger was released

Handling lifecycle changes

void didChangeAppLifecycleState(AppLifecycleState state) {
  switch (state) {
    case AppLifecycleState.resumed:
    case AppLifecycleState.inactive:
    case AppLifecycleState.paused:
    case AppLifecycleState.detached:

See the example app for more details.