Closed prashant18-code closed 4 years ago
Hi, have you seen the sample app for Ionic, https://github.com/ZebraDevs/DataWedge-Ionic-Demo. I recently updated it to work with Ionic 6 but that should hopefully give you a working sample. Yes, this plugin will work on both Zebra and non-Zebra devices, although it only sends / receives Android Intents. If you want to do barcode scanning on a non-Zebra device you should use the Ionic barcode plugin.
Your quick response is much appreciated Darryn.
Yes i have seen your sample App that works only on Zebra devices. I want to implement barcode scanning on Zebra device only, i have created an App for Zebra device which should have a feature of barcode scanning. Now, guide me please how to do scanning on Zebra device. I know datawedge profile will be available on Zebra device. But what makes me confused here is
I can go for either of the above 3 ways. But i don't know how to proceed with any of the above ways.
Option 1: All Zebra devices come with DataWedge pre-installed and you just have to configure DataWedge with a Profile and read the scans via Intents (there are other ways of using DataWedge but this is the approach taken by my sample which meets most use cases). So, please take a look at how the sample Interacts with DataWedge (creates a profile, configures that profiles, receives scan data) and copy that approach - that is the path of least resistance.
please take a look at how the sample Interacts with DataWedge (creates a profile, configures that profiles, receives scan data) ---> But i don't even need to worry about creating a profile and configure that profile for datawedge, if i have datawedge higher than 6.4 right ? --Plz confirm this !!
If yes, then i just have to receive the scan data and display it accordingly in my App. Is that correct ? Now, which method of intentShim plugin is used to read the scan data ?
But i don't even need to worry about creating a profile and configure that profile for datawedge, if i have datawedge higher than 6.4 right ? --Plz confirm this !!
You need to create the profile somehow, either through code (as the sample does), by creating the profile through the DataWedge application or by provisioning the profile via StageNow or EMM
Now, which method of intentShim plugin is used to read the scan data ?
You receive scans via a broadcast intent, so registerReceiver()
Closing due to inactivity
Hi Darryn,
Aplogize for not updating you regarding this issue. I have been doing good with the intent plugin now. Tings worked like charm as per your advices.
Appreciate that. Also, i was about to write you for one more help. I have created a mobile app for Zebra TC57 device, implemented the barcode scanning using latest in-built Datawedge. Barcode scanning work absolutely fine but our customer got a requirement, which says " when we do a good barcode scan/ a valid scan then we should not get the beep tone" and when we get an invalid scan/bad decode, only then the beep tone should come out".
PFA an xml file which was given by our customer in their old zebra device (an MC series windows device). But now the app we have developed is going to run on Android- TC57 device. I don't find any such .xml file in TC57 Android device. I tried to export the config file of datawedge from it's package but that was totally different sort of file (datawedge.db).
Could you please help me what i need to do this ? Do i need to do something in device or in code ? OR, Is there any platform specific restrictions which could be done on windows zebra device(avoiding beep on good decode) and can not be done on Andorid zebra device ?
Thanks a ton in advance.
Regards, Prashant Kumar Senior Software Engineer-Mobility Mob: 9966780464
On Tue, Jun 16, 2020 at 7:11 PM Darryn notifications@github.com wrote:
Hi, have you seen the sample app for Ionic, https://github.com/ZebraDevs/DataWedge-Ionic-Demo. I recently updated it to work with Ionic 6 but that should hopefully give you a working sample. Yes, this plugin will work on both Zebra and non-Zebra devices, although it only sends / receives Android Intents. If you want to do barcode scanning on a non-Zebra device you should use the Ionic barcode plugin.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/darryncampbell/darryncampbell-cordova-plugin-intent/issues/110#issuecomment-644773678, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOPDBGUY6SKCFQKN7ZO6FA3RW5ZCLANCNFSM4N7QVVYQ .
I know what you mean, there used to be a 'bad decode' setting but that has been removed. I'm not entirely sure why and you might need to contact Zebra support to get an answer to that question. If you try to scan a barcode on TC57 and e.g. the check digit is wrong it just does not scan. To silence the good scanner beep you could either change the decode sound to a silent mp3 or you could adjust the volume of the scanner stream stream_vvs
, see https://techdocs.zebra.com/mx/audiovoluimgr/
As I am totally unaware of stuffs at zebra device level, could you please help me understand both options which you provided :-
Option 1 - you could either change the decode sound to a silent mp3 --> how to change this sound ? is it device level change ? Option 2 - you could adjust the volume of the scanner stream stream_vvs --> I read through the link you shared. I found a "Zebra Volume Control" in the device setting which does have an option "Scanner volume". But if i drag that volume level to 0, i won't get the beep tone on bad decode as well right ? Or i am not getting what you said in option 2 ?
Thanks.
Regards, Prashant Kumar Senior Software Engineer-Mobility Mob: 9966780464
On Mon, Aug 17, 2020 at 8:08 PM Darryn notifications@github.com wrote:
I know what you mean, there used to be a 'bad decode' setting but that has been removed. I'm not entirely sure why and you might need to contact Zebra support to get an answer to that question. If you try to scan a barcode on TC57 and e.g. the check digit is wrong it just does not scan. To silence the good scanner beep you could either change the decode sound to a silent mp3 or you could adjust the volume of the scanner stream stream_vvs, see https://techdocs.zebra.com/mx/audiovoluimgr/
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/darryncampbell/darryncampbell-cordova-plugin-intent/issues/110#issuecomment-674920734, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOPDBGR2OYAAUNRLYUKY7QTSBE6GPANCNFSM4N7QVVYQ .
I do not know how you would address your requirement about an "invalid beep tone", that is what I meant when I was talking about 'bad decode' and my recommendation to contact Zebra support for help on that. The rest of my answer assumed you wanted to silence the 'good decode' sound but your customer may not want to do that if there is no longer a 'bad decode' sound.
Option 1 was 'configure scanner settings' --> 'scan params' --> 'decode audio feedback' and choose 'silent'... that is by far easier than option 2.
Alright thanks for this too Darrync !!
I have already contacted zebra support for the same. They also suspected the same saying "bad decode" has been removed now. They only asked me to export the "datawedge.db" config file and check if anything can be changed there and import it back to datawedge. But i did not find any such thing to change for decode beep in that file. After reporting this to my customer, they suggested me to join a webinar from zebra, which i saw, eventually is going to be presented by you. :) and Randy David(from Zebra) is the person who informed us about this.
I have the invite as well :- So, i would like to know Darryn if this webinar will help me out with my goals ??
[image: Screenshot 2020-08-17 at 9.23.20 PM.png] Regards, Prashant Kumar Senior Software Engineer-Mobility Mob: 9966780464
On Mon, Aug 17, 2020 at 8:48 PM Darryn notifications@github.com wrote:
I do not know how you would address your requirement about an "invalid beep tone", that is what I meant when I was talking about 'bad decode' and my recommendation to contact Zebra support for help on that. The rest of my answer assumed you wanted to silence the 'good decode' sound but your customer may not want to do that if there is no longer a 'bad decode' sound.
Option 1 was 'configure scanner settings' --> 'scan params' --> 'decode audio feedback' and choose 'silent'... that is by far easier than option 2.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/darryncampbell/darryncampbell-cordova-plugin-intent/issues/110#issuecomment-674943305, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOPDBGUNVWML7ADRE6QBGRDSBFC2XANCNFSM4N7QVVYQ .
It feels like support did not appreciate you were moving from a Windows Mobile / CE device to Android. According to the DataWedge help file for WM/CE (found as a chm file contained within https://www.zebra.com/us/en/support-downloads/software/utilities/datawedge-toolkit.html) that version of the product exported the configuration as an XML therefore it would not be possible to lift that and put it on an Android device. Please do join the DataWedge presentation tomorrow... it will not answer your immediate question but will help understanding DataWedge features overall.
I am glad to hear you are speaking with support. If I were in your position, I would explain to my customer that bad decode has been removed (with proof from Zebra support attesting to this fact) and ask what new behaviour is desired... I am not sure exactly what would trigger a bad decode to be honest, perhaps this was more of an issue with 1D laser scanners but that is just a guess..
Hey @darryncampbell , nice thread about the plugin. I have implemented this plugin, and works perfectly with the devices witch have DataWedge app , but now i'm trying to implement it , on the same application for NON zebra ( or honeywell ) applications.. and i can't even get any signal from the broadcast.... did u have any simple of implementation for NON zebra devices? Thanks
@kabom can you please point me towards the documentation for the non-zebra device you are using? I haven't been able to use a Zebra competitor device in quite some years - the competitive analysis team keep them quite close to their chests(!)
Well, as in the examples above about the zebra Users, ( also HoneyWell users works too ) , i do create datawedge profile, where i'm pointing the application route ( same that i have writen in the category filter ) :
// filterActions: ['io.applicationName.ACTION' ],
filterCategories: ['android.intent.category.DEFAULT']
//
now, at non zebra devices there is no wedge app where i can put that variables, and im not able to get anything from the device.
now about the device i'm trying to implement : ( most of the devices i tryed to implement are the same .. UNKNOWN providers or something ) this is official documentation , but the model number on the device is T62 https://www.emdoorrugged.com/uploads/file/6-android-em-q66-handwriting-rugged-handheld.pdf
on this web u can see more info then on the pdf documentation :)) https://www.eng.mobilator.pl/wzmocniony-wytrzymaly-terminal-mobilny-emdoor-em-t62-v.0-produkt-90816.html
Thanks :-)
According to those links you sent the EM-T62 is not a Honeywell device, it just uses the Honeywell scan engine. There will be a low level interface between the Honeywell scan engine and the Android device that you as an app developer won't have access to. The android device is responsible for presenting an interface to you as an application to acquire scans - does that application interface use Android Intents? That is an open question.
Hi @darryncampbell ,
I hope the datawedge profile is already available on a Zebra device. So then how to do a scan barcode using this plugin ? Also, i would like to know if this plugin works only on Zebra device or does it work on any android device ?
I am using Ionic v4. And developing an App for Zebra device.
Find my simple code which i am using starting with platform.ready() in app.component.ts
(window).plugins.intentShim.registerBroadcastReceiver ({
filterActions: [
'com.zebra.cordovademo.ACTION', // Scans
'com.symbol.datawedge.api.RESULT_ACTION' // Messages from service
],
filterCategories: [
'com.android.intent.category.DEFAULT'
]
},
(intent) => {
// Broadcast received
console.log('Received Intent: ' + JSON.stringify(intent.extras));
if (intent.extras["com.symbol.datawedge.data_string"] != null)
{
console.log("Scan: " + intent.extras["com.symbol.datawedge.data_string"]);
}
this.router.navigate(['home']);
});
}).catch((error) => {
console.log("catch: " + error);
});
Then, i am using a method to trigger the plugin methods as follows as, but this doesn't trigger or consoles anything :
openScan(){ (window).plugins.intentShim.sendBroadcast({
action: 'com.symbol.datawedge.api.ACTION',
extras: {
'com.symbol.datawedge.api.SOFT_SCAN_TRIGGER': 'TOGGLE_SCANNING'
}
},
function() {
console.log("success");
},
function() {}
);
); }
Being a zebra device user, i would really appreciate your response on this.
Thanks