Android - GPS-приемник - PullRequest
       7

Android - GPS-приемник

1 голос
/ 26 мая 2011

Я занимаюсь разработкой приложения для Android, которое состоит из нескольких действий. Я хочу получать обновления от GPS (onLocationChanged, onProviderDisabled, onProviderEnabled, onStatusChanged) независимо от того, какой активностью в данный момент пользуется пользователь.

Где мне реализовать LocationListener, чтобы получить такое поведение?

Это класс, который я создал:

public class MyLocationListener implements LocationListener{

private LocationManager locationManager;
private String provider;

    @Override
public void onLocationChanged(Location locationGPS) {

    //do something
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
    Log.i("===========================", "==============================");
    Log.i("onProviderEnabled", "==============================");
    Log.i("===========================", "==============================");

}

@Override
public void onProviderDisabled(String provider) {

    Log.i("===========================", "==============================");
    Log.i("onProviderDisabled", "==============================");
    Log.i("===========================", "==============================");
}

Ответы [ 2 ]

4 голосов
/ 26 мая 2011

Запустите прослушиватель местоположения на активности, которую вы хотите запустить GPS.Для запуска GPS вы можете использовать

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new CTLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1.0f, locationListener);

, а для остановки GPS вы можете использовать

locationManager.removeUpdates(locationListener);

Лучше вы пишете начало GPS на onCreate() / onStart() иGPS удалить на onDestroy() службы и использовать эту службу.В противном случае после остановки GPS на некоторых устройствах вероятность повторного запуска GPS будет менее 50%.

1 голос
/ 26 мая 2011

Создайте Service и отслеживайте местоположение там, или вы можете реализовать LocationListener в отдельном классе и использовать его в каждом Activity, включая onResume() и выключая onPause()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...