我需要当前位置,所以我使用了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);
}
});
}
答案 0 :(得分:-2)
但是第一次总是为空。
这并不少见,特别是如果设备上没有其他东西正巧地试图确定位置的话。
请记住,您可能永远都无法获得位置:用户可能已禁用位置服务,或者用户可能处于设备无法获得位置定位的环境中。
我该如何处理?
可能无法获得位置的交易。