Android LocationCallback不会被调用

问题描述

我正在尝试使用android做一个非常简单的位置更新

private void loadGPSLocation() {
        FusedLocationProviderClient locationProvider = LocationServices.getFusedLocationProviderClient(this);
        locationProvider.getLastLocation().addOnCompleteListener(lastLocationTask -> {
            if (lastLocationTask.isSuccessful())
                location = lastLocationTask.getResult();
            LocationRequest locationRequest = LocationRequest.create().setInterval(60000).setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
            LocationServices.getSettingsClient(this).checkLocationSettings(new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).build()).addOnCompleteListener(currentLocationTask -> {
                if (currentLocationTask.isSuccessful())
                    locationProvider.requestLocationUpdates(locationRequest,getLocationCallback(locationProvider),Looper.getMainLooper());

            });


        });


    }


 @NotNull
    private LocationCallback getLocationCallback(FusedLocationProviderClient locationProvider) {
        return new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                if (locationResult != null) {//NEVER REACHES HERE
                    location = locationResult.getLocations().get(0);
                    locationProvider.removeLocationUpdates(this);
                }
            }
        };
    }

代码非常简单,并遵循android教程...但是仍然永远不会调用locationresult

我在做什么错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)