I am using the Android 4.0.3 version in apps. Now I want to get the city name or other information from LATITUDE and LONGITUDE but when I run the apps is show me service not available.
Logcat
01-10 13:58:29.279: W/System.err(1211): java.io.IOException: Service not Available
01-10 13:58:29.289: W/System.err(1211): at android.location.Geocoder.getFromLocation(Geocoder.java:136)
01-10 13:58:29.299: W/System.err(1211): at com.example.vixxa.VisitorActivity$CityAsyncTask.doInBackground(VisitorActivity.java:601)
01-10 13:58:29.319: W/System.err(1211): at com.example.vixxa.VisitorActivity$CityAsyncTask.doInBackground(VisitorActivity.java:1)
01-10 13:58:29.329: W/System.err(1211): at android.os.AsyncTask$2.call(AsyncTask.java:264)
01-10 13:58:29.329: W/System.err(1211): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
01-10 13:58:29.339: W/System.err(1211): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
01-10 13:58:29.349: W/System.err(1211): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
01-10 13:58:29.349: W/System.err(1211): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
01-10 13:58:29.359: W/System.err(1211): at java.lang.Thread.run(Thread.java:856)
CodeAsynctak.java
public class CityAsyncTask extends AsyncTask<String , String,String>
{
@Override
protected String doInBackground(String... params) {
Geocoder geocoder = new Geocoder(VisitorActivity.this, Locale.getDefault());
try
{
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
Log.e("Addresses","-->"+addresses);
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
}
Try using this code, it worked on my TAB2.
public class CityAsyncTask extends AsyncTask<String , String,String>
{
@Override
protected String doInBackground(String... params) {
Geocoder geocoder = new Geocoder(LatLongActivity.this, Locale.getDefault());
try
{
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
Log.e("Addresses","-->"+addresses);
result = addresses.get(0).toString();
}
catch (IOException e)
{
e.printStackTrace();
}
return result;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
AlertDialog.Builder alert = new AlertDialog.Builder(LatLongActivity.this);
alert.setTitle("ADDRESS");
alert.setMessage(result);
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
alert.setCancelable(false);
alert.show();
}
}