Știu că, uneori, google serviciu de back-end s-ar putea să nu fie disponibile.
Prin urmare, o soluție ar putea fi la bucla până când am obține date.
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) {
}
}
Dar eu nu sunt în măsură pentru a obține locația de la toate:
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
și i-au adăugat desigur toate permisiunile necesare:
<uses-permission android:name=android.permission.INTERNET />
Am încercat acest lucru pe Samsung Galaxy Note GT-N7000 (4.0.4 versiune)
Sunt eu lipsesc orice setări? legate de dispozitiv sau o aplicație? Sau, de obicei, acest lucru se întâmplă? Dacă da orice soluție mai bună pentru a rezolva această ??
Mulțumesc













