【问题标题】:Fused Location Provider not updating fast enoughFused Location Provider 更新速度不够快
【发布时间】:2016-10-02 04:34:12
【问题描述】:

不久前,我编写了一个记录 GPS 坐标的 Unity 程序,它在驾驶时每秒大约 3 次获得一个新位置。我正在 Android Studio 中重写应用程序并使用融合的位置提供程序 API。它非常慢,开车时只能在 5-15 秒内获取 GPS 坐标。以下是我的一些代码片段,我认为这些片段会影响获取位置的速度。

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    ...
    locationRequest = new LocationRequest();
    locationRequest.setInterval(10);
    locationRequest.setFastestInterval(15*1000);
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    ...
    @Override
    public void onLocationChanged(Location location) {
    myLatitude = location.getLatitude();
    mylongitude = location.getLongitude();
    ....

为了让这个应用程序可行,它需要每秒至少记录几次 GPS 坐标。即使建议不要使用,我是否应该返回 android.location 方法进行定位?

如何加快接收 GPS 坐标的速度?

【问题讨论】:

    标签: android performance fusedlocationproviderapi


    【解决方案1】:

    您在这里经过的间隔是 10 秒,最快的间隔是 15 秒。您只需通过最少的秒数。

    最快意味着通过至少一半的正常时间间隔。 试试这个方法,如果你有任何问题,请告诉我。

    只需将其删除并像这样传递到这里。

    public final long UPDATE_INTERVAL_IN_MILLISECONDS = 2000;
    public final long UPDATE_FASTEST_INTERVAL_IN_MILLISECONDS = UPDATE_INTERVAL_IN_MILLISECONDS / 2;
    
    locationRequest = new LocationRequest();
    locationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS );
    locationRequest.setFastestInterval(UPDATE_FASTEST_INTERVAL_IN_MILLISECONDS );
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    

    我已经回复here请查看更多信息。

    谢谢,希望对你有帮助。

    【讨论】:

    • 看起来它正在工作!!!非常感谢。搜索了很多,没有找到您之前发布的答案。希望这将在未来更容易为人们找到。你的摇滚。再次感谢。
    • 很高兴为您提供帮助:)
    • 我正在使用融合位置当我的应用程序在前台时我遇到问题我经常更新但当我的应用程序在后台时我得到的更新频率较低请帮助我!!
    • 由于更新了操作系统,您可能会遇到服务问题。您可以尝试另一种方式,例如 JobScheduler 吗? Fused API 也得到了更新请也检查一下。
    猜你喜欢
    • 2019-09-04
    • 1970-01-01
    • 2016-04-09
    • 2014-01-24
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2018-06-02
    相关资源
    最近更新 更多