在服务中访问 Google Play 服务位置 API

Posted

技术标签:

【中文标题】在服务中访问 Google Play 服务位置 API【英文标题】:Accessing Google Play Services Location API in a Service 【发布时间】:2015-04-20 02:56:37 【问题描述】:

我想在服务中连接到 Google Play Services Location API,以便请求位置更新和地理围栏。 android 开发者网站上的示例使用 Activity 生命周期方法连接和断开连接,它还通过显示对话框等来处理失败。在我的应用程序中,我想使用服务而不是 Activity,因为我想保留当活动不可见时接收位置更新。我计划在服务启动时连接到 Google Play 服务,并在我不再需要位置更新或服务停止时断开连接。是否可以处理来自服务的连接失败场景,因为它无权访问 Activity 来显示对话框等?

谢谢

【问题讨论】:

请发布您正在谈论的代码,或者至少发布活动功能的地图 Location API 功能。我将尝试向您展示您应该使用哪些服务功能。 【参考方案1】:

您可以在活动中使用 LocalBroadcastReceiver,并让服务在遇到故障情况时发送消息。活动可以根据提供的意图和您可以在其中发送的其他参数相应地显示错误。请注意,您必须在接收器内部验证 Activity 何时处于后台,并在用户将您的 Activity 带回前台时显示错误或尝试。

【讨论】:

以上是关于在服务中访问 Google Play 服务位置 API的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 服务 - 当前位置

使用 google play 服务在 Xamarin 中获取用户位置

Google Play 服务 - 位置 Xamarin Android

Android位置与Google Play服务[重复]

Google (Play) 睡眠模式下的位置服务更新间隔更改 (Android)

带有 Google Play 服务位置的 Android 服务导致应用程序随机打开