Hi, you need to set your device's location settings to 'High Accuracy' in order to obtain location information from the NETWORK_PROVIDER. Not exactly sure why that is and it seems to be a quirk of AOSP devices. Even with a SIM installed & WiFi enabled on these devices you will only get course cell-tower based locationing through the Network Provider.
Of course, if your device is in 'High Accuracy' mode then you may as well use the GPS provider as you will likely get higher accuracy fixes, at least outdoors.
It is an area I am trying to understand better myself, I have an application that exercises the different APIs if it is useful (GitHub - darryncampbell/Location-API-Exerciser: Small application to show the different location APIs on Android ) but there is no Zebra support for that application. Another option is to scan nearby Wifi APs and use Google's geolocate API, as shown in that test application: Location-API-Exerciser/GMapsGeolocationAPIWrapper.java at master · darryncampbell/Location-API-Exerciser · GitHub .
Hi, i tried both location settings - "High accuracy" and "Battery saving", but no difference. It seems that non-gms version ignores the whole location listener, because any listener method is never called - onProviderEnabled, onProviderDisabled, onStatusChanged, onLocationChanged, nothing.
I cant use GPS provider, because my devices are in metal warehouse = no GPS fix. At the same time I dont want use GMS image with google services. I also cant use wifi geolocation, because we use only cellular data for comunication with server. Network provider is only one solution for me