Darryn Campbell's blog

Using DataWedge with Multiple Android Activities

This article assumes familiarity with Zebra's DataWedge tool as well as the DataWedge profile mechanism. For an overview of DataWedge, please refer to the DataWedge Techdocs page

A very common use case for many Zebra Android developers is using the device scanner across multiple activities in their application, this could cover the following:

Dynamically Switching Keyboards on Zebra Android Devices

Last month I wrote about how to switch keyboard layouts on the fly using the Enterprise Keyboard and its API, the use case being that some screens in your app would require different methods of data entry. As I said in my previous post the Enterprise Keyboard is not a general-purpose replacement keyboard and the standard keyboard should be used for standard data or text entry.

How to Access the Properties for Zebra Power Precision+ Batteries

Zebra’s range of Android Mobile devices come equipped with Power Precision or Power Precision+ batteries.  You can learn more about Power Precision / Power Precision+ from the product page but one advantage of these batteries for the app developer is access to a wealth of additional battery information not available on consumer Android handsets:

Interface with Device Scanner on Android Devices Through DataWedge

Zebra’s series of developer conferences for 2019 has recently concluded with our AppForum event in Las Vegas.  During the year we also visited Warsaw, Sydney and Beijing and it was great to meet so many of our developers and discuss ideas, solutions and use cases.  One consistent theme across all 4 events was the proliferation of DataWedge as the recommended way of interfacing with the device scanner on our Android devices so I thought it made sense to summarize the content for those who could not make it to AppForum or who were not able to attend the DataWedge sessions at

Restrictions on non-SDK interfaces with Android Pie

Starting with Android Pie (API level 28), Android will start restricting which APIs your application can call if they are not part of the public API.  These restrictions apply whenever an app references a non-SDK interface or attempts to obtain its handle using reflection or JNI but do not affect calls to the EMDK or other third-party APIs.