Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android实时位置更新问题_Java_Android_Android Studio_Android Fragments - Fatal编程技术网

Java Android实时位置更新问题

Java Android实时位置更新问题,java,android,android-studio,android-fragments,Java,Android,Android Studio,Android Fragments,所以我在Android Studio中为我的应用程序制作了一个谷歌地图活动,我需要获得实时位置更新。目标是使地图上的标记只在足够接近它们时才可单击。 这是我目前掌握的代码: LocationRequest locationRequest = LocationRequest.create(); locationRequest.setInterval(5000); locationRequest.setFastestInterval(2500);

所以我在Android Studio中为我的应用程序制作了一个谷歌地图活动,我需要获得实时位置更新。目标是使地图上的标记只在足够接近它们时才可单击。 这是我目前掌握的代码:

        LocationRequest locationRequest = LocationRequest.create();
        locationRequest.setInterval(5000);
        locationRequest.setFastestInterval(2500);
        locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        locationCallback = new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                super.onLocationResult(locationResult);
                if (locationResult == null) {
                    return;
                }
                mLastKnownLocation = locationResult.getLastLocation();
                LatLng lastKnownLatLng = new LatLng(mLastKnownLocation.getLatitude(), mLastKnownLocation.getLongitude());

//THIS IS AN EXAMPLE OF THE DISTANCE VALUES
                distanceHala = SphericalUtil.computeDistanceBetween(lastKnownLatLng, HalA);

                mFusedLocationProviderClient.removeLocationUpdates(locationCallback);
            }
        };
        mFusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, null);

稍后,我有一些if语句使它们可以点击。现在的问题是,该位置仅在我刚刚打开Map活动时更新,而不是在活动运行时更新。因此,当我打开“活动”并走得足够近时超出范围时,即使我离得足够近,按钮仍然无法单击。

当调用第一个回调时,回调中的最后一个语句是删除位置更新-因此它的行为似乎与编程一样。为什么
removeLocationUpdates
?当我删除该行时,我仍然有相同的问题,只是使用模拟器或真实设备进行测试?我使用真实设备进行测试