список местоположения не вызывает изменение местоположения - PullRequest
0 голосов
/ 16 марта 2011

Я использую слушатель местоположения в моем приложении. У меня есть код как:

    public void startlistning()
    {   
            locationListener = new LocationListener() {
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onProviderEnabled(String provider) {
                // TODO Auto-generated method stub
                Toast.makeText( getApplicationContext(),"Gps Enabled", Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onProviderDisabled(String provider) {
                // TODO Auto-generated method stub
                Toast.makeText( getApplicationContext(),"Gps Disabled", Toast.LENGTH_SHORT ).show();
            }
            @Override
            public void onLocationChanged(Location location) {
                // TODO Auto-generated method stub
                location.getLatitude(); 
                location.getLongitude();
            }
        };
        lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

Но не знаю, почему метод onLocationChanged не вызывался, когда я перезагружал устройство 1-й раз (без данных сотовой связи (нет сим-карты)). Тем не менее, я использую лучший поставщик в моем приложении. Пожалуйста, посмотрите на вопрос. Спасибо

1 Ответ

2 голосов
/ 16 марта 2011

Вызов метода прослушивания местоположения при изменении местоположения устройства.Его не запускается при перезагрузке устройства.Если вы хотите вызвать метод onLocationChanged, вам нужно изменить местоположение устройства.


Пожалуйста, попробуйте это, чтобы получить последнее известное местоположение.

    LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

    Criteria locationCritera = new Criteria();
    locationCritera.setAccuracy(Criteria.ACCURACY_FINE);
    locationCritera.setAltitudeRequired(false);
    locationCritera.setBearingRequired(false);
    locationCritera.setCostAllowed(true);
    locationCritera.setPowerRequirement(Criteria.NO_REQUIREMENT);

    String providerName = locationManager.getBestProvider(locationCritera, true);
    Location location  = locationManager.getLastKnownLocation(providerName);

    Log.i("--- Latitude",""+location.getLatitude());
    Log.i("--- Latitude",""+location.getLongitude());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...