首页 > 解决方案 > 当第二个应用程序运行时,GPS 高度的波动停止

问题描述

我开发了一个用于记录(滑翔伞)飞行的 Android 应用程序,并且从(GPS-)位置数据记录的高度通常很好。但现在我收到一个抱怨,记录的高度波动很大。(Pixel 3a 上的 Android 10)奇怪的是,(根据用户观察)如果另外运行另一个运动追踪器,录制又会很流畅。所以看起来,其他运动追踪器使用位置数据的方式也可以平滑我的应用程序的位置数据。我正在使用 FusedLocationProvider 并认为我已经设置了最高质量:

       FusedLocationProviderClient client = LocationServices
                .getFusedLocationProviderClient(ctx);
        LocationRequest request = LocationRequest.create();
        request.setInterval(1000); //Every second
        request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        client.requestLocationUpdates(request, provideLocationCallback(), null);

一种猜测是,FusedLocation 有时是从与 GPS 不同的来源创建的,因此纬度/经度很好,但高度是“错误的”。但是其他应用程序如何以这种方式影响位置提供者,它只返回 GPS 位置?或者换句话说,我怎样才能强迫自己的位置提供者只提供 GPS 位置?

标签: androidgpsfusedlocationproviderclientaltitude

解决方案


推荐阅读