Оболочка FusedLocationProviderClient rxjava2 - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь обернуть LocationCallback в наблюдаемую. Я пытаюсь сделать это так.

 private Observable<Location> createLocationObservable(){

    return Observable.create(new ObservableOnSubscribe<Location>() {
        @Override
        public void subscribe(final ObservableEmitter<Location> emitter) throws Exception {
             mLocationCallback=new LocationCallback(){
                @Override
                public void onLocationResult(LocationResult locationResult) {
                    if (locationResult == null) {
                        return;
                    }
                    emitter.onNext(locationResult.getLastLocation());
                }
            };
             startLocationUpdates();
        }
    });
}

private void startLocationUpdates() {

    if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        requestPermission();
        return;
    }
    getFusedLocationProviderClient(context).requestLocationUpdates(mLocationRequest,
            mLocationCallback,
            null /* Looper */);
}

Я наблюдаю за этой наблюдаемой, но в методе onNext наблюдателя не получено ни одного местоположения, так что не так

...