7 Replies Latest reply on Apr 22, 2019 9:37 AM by Matt Dermody

    Data wedge and EMDK (disable and enable scanning).

    Raven Supilanas

      Hi my question ,

       

      Is there a possible way of turning off the data wedge (scanning) programmatically when my activity in Xamarin Android is on the login page then after log in my scanning activity in Xamarin Android enables the scanning using EMDK scanner?

       

       

      Thanks.

       

      Raven Supilanas

          • Re: Data wedge and EMDK (disable and enable scanning).
            Gabriel Chavez

            This is a terribly unhelpful reply.

             

            I'm having the same problem.  I've written a service to handle barcoding and I don't want to use Datawedge.  I all barcoding in my app to be accomplished via the EMDK.  Since I can't fiddle with each device my app may be installed on, I need to block Datawedge from within my app.

             

            You linked a page with a list of links.  If you can't actually provide an answer or an example, could you please narrow it down to where in that giant list of information the solution to disabling Datawedge when using EMDK is?

             

            Thanks,

            Gabe

              • Re: Data wedge and EMDK (disable and enable scanning).
                Matt Dermody

                Terribly unhelpful?

                 

                The request was specifically asking if you could programmatically disable DataWedge from an application that leverages the EMDK for scanning and I linked to the comprehensive documentation on the DataWedge APIs that can be interfaced via intents. May I suggest you actually read the "list of links" to find what you're looking for:

                 

                  • Re: Data wedge and EMDK (disable and enable scanning).
                    Gabriel Chavez

                    Thank you, I reviewed the article at that link, but I'm unclear on how to use the example code.  I guess it will simply have to use the trial and error approach since complete examples that show code in context are extremely rare in Zebra's technical documentation.

                     

                    In fact, I read quite a bit of the documentation about DataWedge, and unless I'm misunderstanding what I read, apps must be configured to listen for DataWedge intents and handle them.  The app I've created to test the scanning services that are consumed as dependencies in our other offerings has no such registration, yet DataWedge appears to be handling the scanning and my EMDK code is totally bypassed.

                     

                    I'm hoping that throwing the code to disable DataWedge into a splash screen activity does the trick.

                      • Re: Data wedge and EMDK (disable and enable scanning).
                        Matt Dermody

                        DataWedge is the "easy button" for scanning integration with Zebra Android devices and unless you have some extremely specific use case that would dictate the need for EMDK based scanning then I would encourage you to develop your application to leverage DataWedge instead. DataWedge is maintained and updated independently of your application so as new versions of OS and device scan engines come out DataWedge can be updated accordingly without you having to maintain and recompile against new versions of the EMDK. I'm also fairly certain Zebra is moving everyone in this direction and is starting to deprecate EMDK based scanner integration.

                          • Re: Data wedge and EMDK (disable and enable scanning).
                            Gabriel Chavez

                            My fear with such a practice is that users can mess with DataWedge, change settings, enable/disable it, or otherwise circumvent the functionality our apps depend on, introducing a new support burden onto us.

                             

                            We provide warehouse management software, and scanning bins and inventory is a central function in our handheld app.

                             

                            I can easily imagine a scenario in which a user disables DataWedge not realizing it's a dependency of other applications on the device, including ours.  They might not even notice that barcode-scanning has failed in our app until hours or days later, and since our app may be the only one on the device they use, they may assume the failure is with our product. 

                             

                            By depending on DataWedge, our organization may be forced to incur unanticipated increased support responsibilities and related costs.  That's a problem I'd have a hard time explaining to my boss.  If we're forced into that, I suppose we'll have to cross that bridge when we come to it.

                             

                            Thanks for your help though, I'm grateful for it.

                              • Re: Data wedge and EMDK (disable and enable scanning).
                                Matt Dermody

                                I work for Manhattan Associates and am VERY familiar with your warehouse management use case. From my perspective, as the app developer you should not necessarily be responsible for providing that level of lock down on the devices unless you are also reselling, implementing, and managing the hardware yourself. If end user sabotage is the specific reasoning behind using the EMDK for scanner integration instead of DataWedge then I would recommend including an implementation requirement for restricting end user access to Settings and applications like DataWedge. This can be accomplished with any of the lockdown / kiosk launchers that come included with any legitimate EMM like SOTI or AirWatch. Device lockdown can also be accomplished without an EMM with the Enterprise Home Screen custom launcher from Zebra, which is a complimentary solution, part of their Mobility DNA suite.

                                 

                                Enterprise Home Screen - Zebra Technologies TechDocs

                                 

                                Your application + DataWedge Integration + Device Lockdown = Easier support and scalability to other device models and scanner types long term

                                Your application + EMDK + No lockdown = Increased maintenance due to upkeep around the EMDK integration

                                1 of 1 people found this helpful