gpt4 book ai didi

android - task.getResult() 返回空值?

转载 作者:行者123 更新时间:2023-12-05 06:25:59 25 4
gpt4 key购买 nike

在设置中打开位置后,task.getResult() 返回 null。如果再试一次,一切都会好的。问题是什么 ?这是代码

mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(MainActivity.this);
try {
if (mLocationPermissionsGranted) {
Task<Location> location = mFusedLocationProviderClient.getLastLocation();
location.addOnCompleteListener(new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
if (task.isSuccessful()) {
Log.d(TAG, "onComplete: found location!");
currentLocation = task.getResult(); // task.getResult() returns null
if (currentLocation != null) {
moveCamera(new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()), DEFAULT_ZOOM, "My Location", cameraMovingMode);
}
} else {
Log.d(TAG, "onComplete: current location is null");
Toast.makeText(MainActivity.this, "unable to get current location", Toast.LENGTH_SHORT).show();
}
}
});
}
} catch (SecurityException e) {
Log.e(TAG, "getDeviceLocation: SecurityException: " + e.getMessage());
}

最佳答案

晚会有点晚了,但我希望这对以后的引用有用。

这里的主要问题是,如果用户关闭了手机位置,那么所有最后的位置都会被手机系统清除,因此 task.getResult() onComplete 监听器为 null。在这种情况下,使用 onSuccess 监听器而不是 onComplete 监听器,如果位置为 null 则使用 getCurrentLocation() 获取用户的最后位置。

关于android - task.getResult() 返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56526601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com