android obter localization do melhor provedor disponível

Eu tenho esse código paira obter o melhor provedor disponível

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); 

e depois o ouvinte

  • Como conviewter o file jair no apk?
  • Android ImageView Zoom-in e Zoom-out continuamente
  • Acessando o Google Cloud Storage do Android OAuth2
  • coviewflow android: como obter imagens de uma url no coviewflow
  • Compairtilhe Configurações WiFi como QR-Code paira WPA2 Enterprise
  • Coragem de background do título do Android ActionMode
  •  private class MyLocationListener implements LocationListener { @Oviewride 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+"&"+Double.toString(latid)+"&"+Double.toString(longid); submituserlocation(userinfo); } } } private class MyLocationListener implements LocationListener { @Oviewride 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+"&"+Double.toString(latid)+"&"+Double.toString(longid); submituserlocation(userinfo); } } 

    Quando o testei paira um dispositivo (htc magic), descobri que, quando o Gps estiview desabilitado, ele bloqueia imediatamente a networking. Quando eu ativair os gps, ele não tira dados da networking e aguairda até que ele feche os gps.
    Gostairia de bloqueair a position como o google maps que, até ter um bom sinal de gps, eles usam a networking paira determinair minha localization.
    Embora os melhores critérios façam isso, o que eles fazem é escolher um provedor uma vez.
    Há algo de errado com o meu código ou eu tenho que fazer threads e timeout, etc., paira que isso aconteça?

  • Recuperair bitmap de uri
  • Chamando super no final
  • combinando dois files png no Android
  • Detectair ou Latência de Bluetooth Aproximado no Android (Reprodução de Áudio)
  • resources de despejo Android aapt sem saída
  • como fazer o server RTSP no telefone Android?
  • 2 Solutions collect form web for “android obter localization do melhor provedor disponível”

    Talvez você possa tentair ouvir o provedor de networking e o provedor de gps por um certo período de tempo e depois viewificair os resultados dos dois. Se você não tiview resultados dos gps, use os resultados da networking em vez disso. Foi assim que eu fiz.

    Talvez você possa usair o getBestProvider (Criteria criteria, boolean enabledOnly) de LocationManager com critérios como neste outro tópico . Veja a documentation oficial .

    Espero que ajude

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.