GnssStatus.Callback не работает в Android 8

Я использовал

public class MyGPSStatusV24 extends GnssStatus.Callback {

        @Override
        public void onStarted() {
            super.onStarted();
            myLogApp.log("[onGpsStatusChanged] GPS_EVENT_STARTED...");

        }

        @Override
        public void onStopped() {
            super.onStopped();
            myLogApp.log("[onGpsStatusChanged] GPS_EVENT_STOPPED...");

        }

        @Override
        public void onSatelliteStatusChanged(GnssStatus status) {
            super.onSatelliteStatusChanged(status);
            myLogApp.log("[onGpsStatusChanged] onSatelliteStatusChanged...");
        }

        @Override
        public void onFirstFix(int ttffMillis) {
            super.onFirstFix(ttffMillis);
            myLogApp.log("[onGpsStatusChanged] GPS_EVENT_FIRST_FIX...");

        }
    }

для проверки состояния GPS в Android 8.

И в основном есть:

mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            mlocListener = new MyLocationListener();

            if(Build.VERSION.SDK_INT < Build.VERSION_CODES.N ){
                ...
            }else{
                mlocManager.registerGnssStatusCallback(new MyGPSStatusV24());
            }
            mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

Но методы в MyGPSStatusV24 никогда не запускались.

Даже если я отключил GPS, onStopped не сработал.

Я пробовал этот код на устройстве Android 7 и работал, но когда я использую пиксель Google не работает. Я не знаю, если это ошибка в Google Pixel O в Android 8.

1 ответ

Решение

Хорошо, я проверил, и ошибка с устройства, это не ошибка кодека.

Другие вопросы по тегам