Hi, you can't create an instance of a class that implements any of the EMDK interfaces without throwing an error on a non-Zebra device, that is why in your second point about activity creation is failing.
Personally I proxy the calls and wrap the EMDK in a separate class - please see this example on github: WakeLock_WifiLock_Exerciser/EMDKProxy.java at master · darryncampbell/WakeLock_WifiLock_Exerciser · GitHub , that application works on Zebra and non-Zebra devices - it does not do scanning but the principle should be the same. There may be different (better?) approaches - I believe others have solved the issue in similar ways.
Thanks for the reply.
I am gonna create a wrapper as well, just for now i am getting familiar with the sdk. I was wondering if edmk has an utils static class just for that purpose.
Have a nice day