BlueFletch / motorola-datawedge-cordova-plugin

This is a Cordova/Phonegap plugin to interact with Motorola ruggedized Android devices' Barcode Scanners and Magnetic Stripe Readers (eg, ET1, TC55, MC40). The plugin works by interacting with the "DataWedge" application configured to output scan and magstripe read events.
35 stars 38 forks source link

Android : datawedge.switchProfile() does not seem to be working? #19

Closed markadavis closed 7 years ago

markadavis commented 7 years ago

I am calling the switchProfile() method in my Cordova App, but I don't see any difference in the scanner functionality. In my case, I have 2 profiles created in the DataWedge.apk (app). One has the Keyboard output property enabled (x), and the other has it disabled( ). When I call the method to switch the profile, I don't see any difference (i.e. the scanner output is always placed onto the standard io/keyboard and ends up in the input field with focus). I have event tired setting it in the debugger (chrome device debugging) to be sure the method exists on the window.datawedge object (and it does). Here is the actual command being issues in Javascript:

window.datawedge.switchProfile("DisableKeyboard");

I have associated the default profile ('EnableKeyboard' in my case) to my app in the DataWedge profile configuration. DataWedge will not allow associating my app with more than one profile, so the 'DisableKeyboard' profile is not associated to any apps (makes sense as the DataWedge need so know the 'default' behavior - my guess...).

Any ideas?

alanlampa commented 7 years ago

Hey Mark -

A few things to check:

You should be able to see data wedge logs by debugging your device with “add logcat -s DWAPI”

If you’re still having issues, send me your Device Type, OS version, Build

, Datawedge version and will see what I can find on my end.

Thanks, Alan

On August 17, 2017 at 2:54:04 PM, Mark Davis (notifications@github.com) wrote:

I am calling the switchProfile() method in my Cordova App, but I don't see any difference in the scanner functionality. In my case, I have 2 profiles created in the DataWedge.apk (app). One has the Keyboard output property enabled (x), and the other has it disabled( ). When I call the method to switch the profile, I don't see any difference (i.e. the scanner output is always placed onto the standard io/keyboard and ends up in the input field with focus). I have event tired setting it in the debugger (chrome device debugging) to be sure the method exists on the window.datawedge object (and it does). Here is the actual command being issues in Javascript:

window.datawedge.switchProfile("DisableKeyboard");

Any ideas?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/BlueFletch/motorola-datawedge-cordova-plugin/issues/19, or mute the thread https://github.com/notifications/unsubscribe-auth/ARcNXpvOLqXAAmlBLYm8Qj5Xoez0V-f1ks5sZIwPgaJpZM4O6qup .

markadavis commented 7 years ago

Hey Alan,

Thanks for the quick response! It looks like my mistake was having a "default" profile assigned to the app. when I removed this the other profiles started turning on... I need to do a bit more testing (I've coded around it, so now I need to udo the monkey patch and redo the testing). I'll reply back here if there are any other issues, but for now it looks like you nailed it.

Thx again! ~Mark

markadavis commented 7 years ago

I've tested everything without a default profile configured (no assigned profiles), as suggested by Alan. It's working now.

Thx Alan!