I suspect the first point is not possible with a Xamarin application. When the EMDK for Xamarin component is built I suspect the dependencies are declared at that stage which prevent it being run on non-Zebra devices.
Have you considered using DataWedge to capture your data? About DataWedge - Zebra Technologies TechDocs . DataWedge is a zero code solution supported on all Zebra devices and you can receive scanned barcodes via intent or key strokes; this way you also avoid having to worry about your second issue. You can still use the camera for barcode scanning on the Samsung device as you do currently, presumably by checking for device manufacturer and only using Zxing (or similar) if it is a non-Zebra device.
thanks for your reply.
Where I can find a C# example of using DataWedge solution? I think it can be the best solution for me that I want to develope a cross platform and cross device application.
with Xamarin you've the same constraints and features that you've with Java so, you can build an application that uses the EMDK and is able to run on non-zebra devices.
You can follow this EMDK guide that is targeting Java, translating the same concept to Xamarin:
Said that, I believe that your best option is to use our DataWedge APIs documented here:
Just keep in mind that some of the newer DataWedge's API have been introduced in DW v6.3 that on the TC51 is available only with the latest BSP released a couple of weeks ago:
Regarding the availability of a Xamarin Forms application using the EMDK or DW APIs, that's totally possible.
You can take a look at this sample that was built with the EMDK v1.0 (to load the DW profiles):
Let me know if you need additional details.