我正在为我的客户在 android studio 中制作一个应用程序,当客户进行查询时,我想知道他的位置和他进行查询的区域,并在 firebase 中保存纬度和经度。为此,我使用了“fusedLocationProviderClient”。我不想知道他的位置更新,我只想知道他首先查询的区域,之后我不想知道他的位置。但是如果我们第一次检查时位置为空,根据文档,我们需要编写位置回调方法来更新当前位置。我的要求是,如果第一个位置为空,那么我想在它可用时立即捕获该位置,但是一旦我获得了该位置,我就不需要任何进一步的更新并且喜欢停止更新。如果有人知道如何做到这一点,请帮助我
`//定位结果为空时 //初始化定位结果
LocationRequest locationRequest = new LocationRequest()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10000)
.setFastestInterval(1000)
.setNumUpdates(1);
//Initialize location call back
LocationCallback locationCallback=new LocationCallback(){
@Override
public void onLocationResult(LocationResult locationResult) {
//initialize location
Location location1=locationResult.getLastLocation();
//Set Latitude
tvLatitude.setText(String.valueOf(location1.getLatitude()));
//Set Longitude
tvLongitude.setText(String.valueOf(location1.getLongitude()));
}
};
// Request location updates
fusedLocationProviderClient.requestLocationUpdates(locationRequest,locationCallback, Looper.myLooper());
}
`