0

我需要当前位置,所以我使用了 FusedLocationProviderClient getLastLocation()。但它总是第一次为空。我该如何处理?这是代码

    private FusedLocationProviderClient mFusedLocationClient;
        mFusedLocationClient = LocationServices.getFusedLocationProviderClient(getApplicationContext());
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            mFusedLocationClient.getLastLocation().addOnSuccessListener(location -> {
                if (location != null) {
                    String latitude = String.valueOf(location.getLatitude());
                    String longitude = String.valueOf(location.getLongitude());
                    sendAddress(addressId,mTicketId,latitude,longitude,mCurrentTime);
                }
            });
        }
4

1 回答 1

-2

但它总是第一次为空。

这种情况并不少见,特别是如果设备上没有其他东西恰好在积极尝试确定位置时。

请记住,您可能永远无法获得位置:用户可能禁用了位置服务,或者用户可能处于设备无法获得位置修复的环境中。

我该如何处理?

处理您可能无法获得位置的可能性。

于 2018-07-16T23:35:26.210 回答