Perspective Mobile - Calling TC21 Datawedge Intents Outside Datawedge


I have an odd request/question about how I could (If possible) call Datawedge Intents using Ignition Perspective Mobile. I have created an application for scanning barcodes in Perspective 8.1.19 to be used with the Android mobile app Ignition_Perspective 1.0.3 on a Zebra TC21. The purpose of the app is not that important, but currently the project uses a button component to call a 'Scan Barcode' event which opens the TC21 device camera in order to read a barcode.There is no other setup on the device or on Perspective's side that has any specific configuration with the device in order to open the camera.

Now, the camera on the TC21 device is pretty bad in terms of image quality, so the scans are limited to very short range and Perspective needs a decent amount of time to read the Type-39 Barcodes. I've been tasked with integrating the native laser scanner on the TC21 device into the project to use in place of the optical camera. Reading from posts here, the software Datawedge on Zebra devices can be configured to output the TC21 laser scan button as a Key Stroke, which Perspective can then act upon using a Key Stroke Event. This is done traditionally within the application for Datawedge, which can be opened like any other mobile app.

Unfortunately due to network security and how my company locks down software, I cannot use the Datawedge app GUI to configure the laser scan button. The GUI for the Datawedge software is not able to be accessed or utilized like is called out on the Zebra technical documents. The only way I am allowed to configure/access Datawedge is through calling a Datawedge profile and configuring it through code. This seems like somethign that would be handled within the APK or in the AndroidManifest file, but I am completely out of my element when it comes to mobile development.

So my question boils down to, is there a way within Perspective (Mobile) that I could call/communicate with another mobile application in order to use device hardware?

From Zebra's documents on calling intents, some of the code looks like this:

// send the intent
    Intent i = new Intent();
    i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", "Profile1");

I don't think this is in the current capabilities for Perspective but would be happy to be proven wrong. I would post some links for context but I am not sure if that is allowed.

I strongly doubt that this is possible.

Would it be possible to have the laser scanner always act as a keyboard wedge and add a prefix/postfix via scanner configuration? Then you could use the Barcode Scanner Input component instead of the "proper" event hook:

I doubt it is possible, but I will see what can be done as far as it always acting as a wedge. Network security has turned this from an easy solution to a very complicated one. I will report back if I have any success.