Android FusedLocationProviderClient getLastLocation始终首次返回null

时间:2018-07-16 21:15:12

标签: android fusedlocationproviderclient

我需要当前位置,所以我使用了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);
                }
            });
        }

1 个答案:

答案 0 :(得分:-2)

  

但是第一次总是为空。

这并不少见,特别是如果设备上没有其他东西正巧地试图确定位置的话。

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

  

我该如何处理?

可能无法获得位置的交易。