here i make one program in this i set the time in requestlocationsupdates method is 61000 miliseconds .so from emulator in DDMS i change the location lati and longi but dnt press send button. now after 61 seconds why not update new inserted lat long in my emulator automatically after 61 seconds.
here is my code…
package com.getlocation;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
public class ShowMap extends MapActivity
{
TextView tv;
/*private MapController mapController;
private MapView mapView;*/
private LocationManager locationManager;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.main); // bind the layout to the activity
tv=(TextView) findViewById(R.id.textView1);
// create a map view
//RelativeLayout linearLayout = (RelativeLayout) findViewById(R.id.mainlayout);
//mapView = (MapView) findViewById(R.id.mapview);
//mapView.setBuiltInZoomControls(true);
//mapView.setStreetView(true);
//mapController = mapView.getController();
//mapController.setZoom(14); // Zoon 1 is world view
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 61000,
10, new GeoUpdateHandler());
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
public class GeoUpdateHandler implements LocationListener {
@Override
public void onLocationChanged(Location location) {
int lat = (int) (location.getLatitude() * 1E6);
int lng = (int) (location.getLongitude() * 1E6);
GeoPoint point = new GeoPoint(lat, lng);
//mapController.animateTo(point); //
//mapController.setCenter(point);
tv.setText(String.valueOf(lat));
tv.append("\n"+String.valueOf(lng));
Log.d("Tag", "Starting update");
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
@saurabh
Emulator can not detect location automatically but it detect location if we provide latitude and longitude and press on send button
You are provide initial latitude and longitude in requestLocationUpdate and also setting minimum time and distance so it will work but it can not understand new location without providing latitude and longitude and press send button
so best testing is on device
best of luck