9cbb4229a835a4cfdecf090259e7b30bd1e30d07.svn-base 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package eVVM.apk.helper.GPS;
  2. import android.location.Location;
  3. import android.location.LocationListener;
  4. import android.location.LocationProvider;
  5. import android.os.Bundle;
  6. /**
  7. * 类描述:实现LocationListener的子类,同时实现自己的接口调用
  8. * Created by lizhenya on 2016/9/12.
  9. */
  10. public class GPSLocation implements LocationListener {
  11. private GPSLocationListener mGpsLocationListener;
  12. public GPSLocation(GPSLocationListener gpsLocationListener) {
  13. this.mGpsLocationListener = gpsLocationListener;
  14. }
  15. @Override
  16. public void onLocationChanged(Location location) {
  17. if (location != null) {
  18. mGpsLocationListener.UpdateLocation(location);
  19. }
  20. }
  21. @Override
  22. public void onStatusChanged(String provider, int status, Bundle extras) {
  23. mGpsLocationListener.UpdateStatus(provider, status, extras);
  24. switch (status) {
  25. case LocationProvider.AVAILABLE:
  26. mGpsLocationListener.UpdateGPSProviderStatus(GPSProviderStatus.GPS_AVAILABLE);
  27. break;
  28. case LocationProvider.OUT_OF_SERVICE:
  29. mGpsLocationListener.UpdateGPSProviderStatus(GPSProviderStatus.GPS_OUT_OF_SERVICE);
  30. break;
  31. case LocationProvider.TEMPORARILY_UNAVAILABLE:
  32. mGpsLocationListener.UpdateGPSProviderStatus(GPSProviderStatus.GPS_TEMPORARILY_UNAVAILABLE);
  33. break;
  34. }
  35. }
  36. @Override
  37. public void onProviderEnabled(String provider) {
  38. mGpsLocationListener.UpdateGPSProviderStatus(GPSProviderStatus.GPS_ENABLED);
  39. }
  40. @Override
  41. public void onProviderDisabled(String provider) {
  42. mGpsLocationListener.UpdateGPSProviderStatus(GPSProviderStatus.GPS_DISABLED);
  43. }
  44. }