如何使onLocationChanged更快地调用

时间:2014-08-15 05:21:48

标签: android google-play-services

我在我的示例应用中使用此功能: http://developer.android.com/training/location/receive-location-updates.html

每次回调onLocationChanged我都会获得一个新位置。但是,我能观察到最快的刷新时间是1秒左右。如何更频繁地调用onLocationChanged?

在我的Android Manifest中,我使用了这个:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

在我的Java代码中,我使用PRIORITY_HIGH_ACCURACY:

mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

我还使用将Interval和FastestInterval设置为低于一秒。

        mLocationRequest.setInterval(50);
        mLocationRequest.setFastestInterval(10);

但它不会在接近50或10毫秒的任何地方更新。我正在使用HTC One M8,这是一款相当新的硬件。

有关使位置服务采样速度更快的任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

LocationRequest.setInterval()的文档说:

  

此方法设置应用程序更喜欢接收位置更新的速率(以毫秒为单位)。如果没有其他应用从位置服务接收更新,您的应用将以此费率收到更新。

您没有像您所说的那样频繁接听onLocationChanged()来电,这一事实必定是因为还有其他应用从位置服务接收更新。

我建议您检查是否有其他使用定位服务的应用,并尝试关闭它们以查看您是否开始以所需的费率接收更新。