融合位置提供者 - 不想更新

时间:2021-07-10 17:34:25

标签: android firebase android-studio

我正在为我的客户在 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());
                }

`

0 个答案:

没有答案