是否可以在没有电池耗尽的情况下触发位置更改?

时间:2016-11-13 11:42:15

标签: android location battery android-gps

在我的应用程序中,我需要在进入另一个城市时获得用户位置的更新。

例如:

  1. 用户居住在cityA
  2. 用户从cityA前往cityB
  3. 应触发一项功能。
  4. 我发现Google Play服务只提供以下功能:

    1. public abstract Location getLastLocation (GoogleApiClient client)

    2. public abstract PendingResult<Status> requestLocationUpdates (GoogleApiClient client, LocationRequest request, LocationListener listener)

    3. 问题是:

      我需要持续跟踪用户的城市位置变化,而不仅仅是在用户使用该应用时。

      如果不过快地耗尽电池,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用广播接收器。 https://developer.android.com/reference/android/content/BroadcastReceiver.html上有一份文档。

private static final LocationRequest REQUEST = LocationRequest.create() .setFastestInterval(60000) // in milliseconds .setInterval(180000) // in milliseconds .setPriority(LocationRequest.PRIORITY_LOW_POWER);

'@Override
public void onConnected(Bundle bundle) {
    LocationServices.FusedLocationApi.requestLocationUpdates(
        mGoogleApiClient,
        REQUEST,
        this);  // LocationListener
}`

使用FusedLocationApi,你会很高兴。