【问题标题】:Listen for GPS Status change监听 GPS 状态变化
【发布时间】:2017-05-31 14:13:47
【问题描述】:

我需要在用户打开或关闭 GPS 时进行监听,并据此采取行动。
我知道这可以使用 GPSStatus 类获得,但已被弃用。
我现在该怎么做?

【问题讨论】:

    标签: android android-location android-gps


    【解决方案1】:

    你可以使用 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);
    

    在 providerDisabled 回调中,您可以知道 GPS 何时关闭

    【讨论】:

    • 为什么要在第二个块上声明 mLLocationListener 两次?
    猜你喜欢
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 2017-08-08
    • 2021-06-16
    • 2011-01-31
    • 2019-08-10
    相关资源
    最近更新 更多