Note that there are some explanatory texts on larger screens.

plurals
  1. POandroid get location from best provider available
    text
    copied!<p>I have this code to get the best available provider</p> <pre><code>lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationListener = new MyLocationListener(); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(criteria, true); Location mostRecentLocation = lm.getLastKnownLocation(provider); if(mostRecentLocation != null) { latid=mostRecentLocation.getLatitude(); longid=mostRecentLocation.getLongitude(); } lm.requestLocationUpdates(provider, 1, 0, locationListener); </code></pre> <p>and then the listener</p> <pre><code>private class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location loc) { if (loc != null) { latid = loc.getLatitude(); longid = loc.getLongitude(); // if(loc.hasAccuracy()==true){ accuracyd = loc.getAccuracy(); String providershown = loc.getProvider(); accuracy.setText("Location Acquired. Accuracy:" + Double.toString(accuracyd) + "m\nProvider: "+providershown); accuracy.setBackgroundColor(Color.GREEN); // } userinfo=usernamevalue+"&amp;"+Double.toString(latid)+"&amp;"+Double.toString(longid); submituserlocation(userinfo); } } </code></pre> <p>When I tested it to a device(htc magic) I found out that when gps is disabled it locks from the network immediately. When I enable the gps it doesnt take any data from the network and waits till it locks from the gps.<br> I would like to lock the position like the google maps that until they have a good gps signal they use the network to determine my location.<br> I though the best criteria would do that but what they do is pick a provider once.<br> Is there something wrong with my code or I have to do threads and timeouts etc to make it happen?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload