1

我有一个服务,它一直跟踪用户的位置(只要它正在运行)并将数据放入 SQL 表中,当应用程序处于前台时 - >该服务还向 UI 发送位置更新和地图和位置已更新。

  1. 当应用程序在前台时-> 请求高精度和频繁更新的位置,以便用户可以享受 UI 中的高精度和频繁更新。
  2. 当应用程序关闭时(仅运行服务) -> 请求不太准确的位置更新,所以我不会消耗太多电池,因为我所做的只是填满一张桌子。

那么,追踪位置时影响电池使用的因素有哪些呢?

在文档示例中

protected void createLocationRequest() {
    LocationRequest mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(10000);
    mLocationRequest.setFastestInterval(5000);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
} 

他们说

PRIORITY_HIGH_ACCURACY 的优先级,结合您在应用程序清单中定义的 ACCESS_FINE_LOCATION 权限设置,以及 5000 毫秒(5 秒)的快速更新间隔,导致融合位置提供程序返回精确到几秒内的位置更新脚。

所以,这就是当应用程序在前台时我会使用的(在设置中我可以看到应用程序在该位置具有“高电池使用率”)。

但是当只有服务运行时我应该更改哪些参数?我希望使用的位置会说:“低电量使用”

4

0 回答 0