Sé que a veces google servicio de back-end podría no estar disponible.
Por lo tanto una solución podría ser la de bucle hasta que i obtener los datos.
private class getLocationDetails extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Log.d(looping, + count + );
count++;
double lat = Double.parseDouble(params[0]);
double lng = Double.parseDouble(params[1]);
List<Address> addresses = null;
try {
Geocoder gCoder = new Geocoder(ImageAndLocationActivity.this,
Locale.getDefault());
addresses = gCoder.getFromLocation(lat, lng, 1);
Address addr = addresses.get(0);
user_country = addr.getCountryName();
user_city = addr.getLocality();
user_district = addr.getSubAdminArea();
if (user_city == null) {
user_city = user_district;
}
} catch (Exception e) {
Log.e(Exception in getLocationDetails - , e.getMessage());
return null;
}
return ;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
Log.d(user_city = , + user_city);
} else {
new getLocationDetails().execute(CurrentLat + , CurrentLng
+ );
}
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
}
Pero no soy capaz de conseguir la localización en absoluto:
LogCat:
02-27 16:29:49.568: D/looping(10966): 110355
02-27 16:29:49.568: E/Exception in getLocationDetails -(10966): Service not Available
02-27 16:29:49.573: D/looping(10966): 110356
02-27 16:29:49.573: E/Exception in getLocationDetails -(10966): Service not Available
02-27 16:29:49.573: D/looping(10966): 110357
02-27 16:29:49.573: E/Exception in getLocationDetails -(10966): Service not Available
y por supuesto he añadido todos los permisos necesarios:
<uses-permission android:name=android.permission.INTERNET />
Estoy tratando esto en la nota GT-N7000 (4.0.4 versión)
Me estoy perdiendo cualquier configuración? relacionada con el dispositivo o la aplicación? O esto suele ocurrir? Si es así una mejor solución para resolver esto ??
Gracias













