nullpointerexception - Android Location Manager returning NULL -
i have simple location manager works, when android device has been turned off , turned on, android location manager returns null when have requesting updates. aware getlastknownlocation can return null, believe handling in code. suggestions appreciated.
apparently lon = location.getlongitude(); crashing it.
locationmanager lm = (locationmanager) getsystemservice(context.location_service); location location = lm.getlastknownlocation(locationmanager.gps_provider); if (location == null) { // request location update!! lm.requestlocationupdates(locationmanager.gps_provider, 0, 0, this); lon = location.getlongitude(); lat = location.getlatitude(); } mlocationmanager = (locationmanager) getsystemservice(context.location_service); //get last known location location = mlocationmanager.getlastknownlocation(locationmanager.gps_provider); //update if not null if (location != null) { lat = location.getlatitude(); lon = location.getlongitude(); } //request update location manager can return null otherwise else { mlocationmanager.requestlocationupdates(locationmanager.gps_provider, 0, 0, this); lat = location.getlatitude(); lon = location.getlongitude(); } }
the android location manager returns null when have requesting updates
correct. requesting updates requests android start trying find out device is. take while. in meantime, getlastknownlocation()
can return null
.
getlastknownlocation()
useful if know location, if data not ready, can move on without it. if need location, , getlastknownlocation()
returns null
, wait use location
until onlocationchanged()
called. note onlocationchanged()
may never called, there no requirement user have location providers enabled, , there no requirement device in position location fixes.
Comments
Post a Comment