收听GPS状态更改

时间:2017-01-16 17:07:34

标签: android android-location android-gps

我需要在用户打开或关闭GPS时收听,然后对此采取行动 我知道这可以使用GPSStatus类,但不推荐使用 我现在该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用LocationListener !!

private class MyLocationListener implements LocationListener {

        @Override
        public void onLocationChanged(Location loc) {
            Toast.makeText(
                    getBaseContext(),
                    "Location changed: Lat: " + loc.getLatitude() + " Lng: "
                            + loc.getLongitude(), Toast.LENGTH_SHORT).show();
            //handlePostion(loc);
        }
        @Override
        public void onProviderDisabled(String provider) {
}

        @Override
        public void onProviderEnabled(String provider) {}

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {}
    }

以下是如何使用此监听器

mLocationListener = new MyLocationListener();
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        mLocationListener = new MyLocationListener();
        mLocationManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 5000, 10, mLocationListener);

在提供者禁用的回调中,您可以知道GPS何时关闭