I want to retrieve the address of the location when i am passing the
longitude and latitude from Command line through Telnet...The
application do get latitude and longitude updates when i change from
command line......
im providing with the code.......the code doesn't have any
error.........but is unable to show the address of the
location............it shows "LocationProvider.TEMPORARILY_UNAVAILABLE
"........If the service is not available how is it taking the values
from command line..........?????
i donno where i have gone wrong....... :-(
please help......
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class GPSTest extends Activity implements LocationListener {
private TextView mInfoText;
private LocationManager mLoc;
private static final Integer MINIMUM_UPDATE_INTERVAL = 10000; //
update every 10 seconds
private static final Integer MINIMUM_UPDATE_DISTANCE = 10; //
update every 10 meters
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// get a handle to the text view to display the GPS location
data
mInfoText = (TextView) findViewById(R.id.infotext);
// the location manager allows access to the current location
and GPS status
mLoc = (LocationManager) getSystemService(LOCATION_SERVICE);
}
@Override
/**
* onResume is is always called after onStart, even if the app
hasn't been paused
*/
protected void onResume() {
// add a location listener and request updates every 10000ms or
10m
mLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER,
MINIMUM_UPDATE_INTERVAL,
MINIMUM_UPDATE_DISTANCE, this);
super.onResume();
}
@Override
protected void onPause() {
// GPS, as it turns out, consumes battery like crazy
mLoc.removeUpdates(this);
super.onPause();
}
@Override
protected void onStop() {
// may as well just finish since saving the state is not
important for this toy app
finish();
super.onStop();
}
public void onLocationChanged(Location loc) {
// display some information based on the current position
StringBuilder sb = new StringBuilder("Your current location is:\n
\n");
sb.append("Longitude: ");
sb.append(loc.getLongitude());
sb.append('\n');
sb.append("Latitude: ");
sb.append(loc.getLatitude());
sb.append('\n');
sb.append("Altitiude: ");
sb.append(loc.getAltitude());
sb.append('\n');
sb.append("Accuracy: ");
sb.append(loc.getAccuracy());
sb.append('\n');
sb.append("Timestamp: ");
Date timestamp = new Date(loc.getTime());
sb.append(new SimpleDateFormat().format(timestamp));
try{
Geocoder gcd = new Geocoder(this, Locale.getDefault());
List<Address> addresses =
gcd.getFromLocation(loc.getLatitude(),
loc.getLongitude(),100);
if (addresses.size() > 0) {
StringBuilder result = new StringBuilder();
for(int i = 0; i < addresses.size(); i++){
Address address = addresses.get(i);
int maxIndex = address.getMaxAddressLineIndex();
for (int x = 0; x <= maxIndex; x++ ){
result.append(address.getAddressLine(x));
result.append(",");
}
result.append(address.getLocality());
result.append(",");
result.append(address.getPostalCode());
result.append("\n\n");
}
sb.append(result.toString());
}
}
catch(IOException ex){
sb.append(ex.getMessage().toString());
}
mInfoText.setText(sb.toString());
}
public void onProviderDisabled(String provider) {
// called if/when the GPS is disabled in settings
Toast.makeText(this, "GPS disabled", Toast.LENGTH_LONG).show();
// end program since we depend on GPS
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
alertbox.setMessage("This demo app requires GPS. Please activate
it first!");
alertbox.setNeutralButton("Ok", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
finish();
}
});
alertbox.show();
}
public void onProviderEnabled(String provider) {
Toast.makeText(this, "GPS enabled", Toast.LENGTH_LONG).show();
}
public void onStatusChanged(String provider, int status, Bundle
extras) {
// called upon GPS status changes
switch (status) {
case LocationProvider.OUT_OF_SERVICE:
Toast.makeText(this, "Status changed: out of service",
Toast.LENGTH_LONG).show();
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
Toast.makeText(this, "Status changed: temporarily
unavailable", Toast.LENGTH_LONG).show();
break;
case LocationProvider.AVAILABLE:
Toast.makeText(this, "Status changed: available",
Toast.LENGTH_LONG).show();
break;
}
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en