-1

我正在使用此示例接收位置更新:

https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesPendingIntent

在我使用连接的 Google API 客户端实例注册位置请求后,它会接收位置。我的问题是如何在设备重启后重新注册 Google Api Client?有人说Android O会限制后台服务,所以不推荐一个服务?

我发现这个链接很有用,但仍然不知道操作系统的实际行为以及是否将我的应用程序视为前台或后台?

https://developer.android.com/preview/features/background.html#services

4

1 回答 1

1

我的问题是如何在设备重启后重新注册 Google Api Client?

BroadcastReceiver在清单中注册 a以进行ACTION_BOOT_COMPLETED广播。然后,在其onReceive()方法中,重新注册您的位置更新请求。

有人说Android O会限制后台服务,所以不推荐一个服务?

您是否使用服务来注册位置更新或处理位置更新取决于在这些点中的任何一个需要什么工作。如果您正在执行任何类型的 I/O(磁盘 I/O、网络 I/O 等),您应该使用服务。

Android O 的变化在于:

  • 纯后台服务只能运行一分钟左右;如果您可能需要更多时间,则需要考虑使用前台服务

  • 位置更新将不那么频繁地传送到后台应用程序

于 2017-05-14T14:43:33.460 回答