问题描述
我正在尝试使用android做一个非常简单的位置更新
private void loadGPSLocation() {
FusedLocationProviderClient locationProvider = LocationServices.getFusedLocationProviderClient(this);
locationProvider.getLastLocation().addOnCompleteListener(lastLocationTask -> {
if (lastLocationTask.isSuccessful())
location = lastLocationTask.getResult();
LocationRequest locationRequest = LocationRequest.create().setInterval(60000).setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationServices.getSettingsClient(this).checkLocationSettings(new LocationSettingsRequest.Builder().addLocationRequest(locationRequest).build()).addOnCompleteListener(currentLocationTask -> {
if (currentLocationTask.isSuccessful())
locationProvider.requestLocationUpdates(locationRequest,getLocationCallback(locationProvider),Looper.getMainLooper());
});
});
}
@NotNull
private LocationCallback getLocationCallback(FusedLocationProviderClient locationProvider) {
return new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
if (locationResult != null) {//NEVER REACHES HERE
location = locationResult.getLocations().get(0);
locationProvider.removeLocationUpdates(this);
}
}
};
}
代码非常简单,并遵循android教程...但是仍然永远不会调用locationresult
我在做什么错了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)