Android FusedLocationProviderClient getLastLocation 总是第一次返回 null
Posted
技术标签:
【中文标题】Android FusedLocationProviderClient getLastLocation 总是第一次返回 null【英文标题】:Android FusedLocationProviderClient getLastLocation always returning null for the first time 【发布时间】:2018-12-24 11:55:09 【问题描述】:我需要当前位置,所以我使用了 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】:但第一次总是为空。
这种情况并不少见,特别是如果设备上没有其他东西恰好在积极尝试确定位置。
请记住,您可能永远无法获取位置:用户可能禁用了位置服务,或者用户可能处于设备无法获取位置修复的环境中。
我该如何处理?
处理您可能无法获得位置的可能性。
【讨论】:
以上是关于Android FusedLocationProviderClient getLastLocation 总是第一次返回 null的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )