Я могу получить текущую широту и долготу текущего местоположения в Galaxy pop, galaxy y. Но я не могу найти текущее местоположение в HTC?
Кодирование, которое я использую, выглядит следующим образом:
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(context);
locationManager.requestLocationUpdates(provider, 1, 1, locationListener);
crta = new Criteria();
crta.setAccuracy(Criteria.ACCURACY_FINE);
crta.setAltitudeRequired(false);
crta.setBearingRequired(false);
crta.setCostAllowed(true);
crta.setPowerRequirement(Criteria.POWER_LOW);
//String provider = locationManager.getBestProvider(crta, true);
String provider = LocationManager.GPS_PROVIDER;
location = locationManager.getLastKnownLocation(provider);
updateWithNewLocation(location);
}
private void updateWithNewLocation(Location location) {
String latLong;
'enter code here'// myLocation = (TextView) findViewById(R.id.myLocation);
String addressString = "no address found";
if(location!=null) {
System.out.println("Provider " + provider + " has been selected.");
lat = (Double) (location.getLatitude());
lng = (Double) (location.getLongitude());
// Gomathi
double valueofGPSlat = lat * 1000;
int GPSsum = (int) valueofGPSlat;
GPSvalue = (double) GPSsum / 1000;
// Get Current Location
latt = Double.toString(GPSvalue);
// Getlon
double valueofGPSlng = lng * 1000;
int resultGPSsum = (int) valueofGPSlng;
resultGPSvalue = (double) resultGPSsum / 1000;
longt = Double.toString(resultGPSvalue);
// GomathiEnd
} else {
latLong = " NO Location Found ";
}
//myLocation.setText("your Current Position is :\n" +latLong + "\n " + addressString );
Toast.makeText(UsertaskoptionsActivity.this,"your Current Position is :\n" +latt + "\n " + ""+longt , Toast.LENGTH_LONG).show();
}
private LocationListener locationListener = new LocationListener()
{
@Override
public void onLocationChanged(Location location) {
updateWithNewLocation(location);
}
private void updateWithNewLocation(Location location) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
updateWithNewLocation(null);
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
};
вы не получите последнее известное местоположение, если соответствующий поставщик еще не получил его. вы можете попробовать запустить другое приложение, которое сначала использует gps. как правило, вы должны зарегистрировать свое приложение для обновления местоположения, посмотрите на руководство разработчика Android по поводу "получения пользовательского местоположения" http://developer.android.com/guide/topics/location/obtaining-user-location.html