我使用的位置依赖项是:'com.google.android.gms:play-services-location:21.0.1'
locationRequest = new LocationRequest.Builder(Priority.PRIORITY_BALANCED_POWER_ACCURACY, 1000 * DEFAULT_UPDATE_INTERVAL)
.setWaitForAccurateLocation(false)
.setMinUpdateIntervalMillis(1000 * MIN_UPDATE_INTERVAL)
.setMaxUpdateDelayMillis(1000)
.build();
sw_gps.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(sw_gps.isChecked()){
locationRequest.setPriority(Priority.PRIORITY_HIGH_ACCURACY);
}else {
locationRequest.setPriority(Priority.PRIORITY_HIGH_ACCURACY);
}
}
});
setPriority() 已降价,那么我应该如何更新 if else 条件中的优先级?
@Deprecated
@NonNull
public LocationRequest setPriority(int priority) {
zzae.zza(priority);
this.zza = priority;
return this;
}
这是文件 LocationRequest.class 中的降价函数
要在不使用已弃用的 setPriority() 方法的情况下更新位置请求的优先级,您可以在切换开关时直接使用 LocationRequest.Builder 及其方法 setPriority() 。以下是实现这一目标的方法:
sw_gps.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(sw_gps.isChecked()){
locationRequest = locationRequest
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.build();
} else {
locationRequest = locationRequest
.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY)
.build();
}
}
});