安卓地理围栏系统(Google Play Services)能否在手机休眠时触发事件

Posted

技术标签:

【中文标题】安卓地理围栏系统(Google Play Services)能否在手机休眠时触发事件【英文标题】:Can the android geofencing system (Google Play Services) trigger events when the phone is sleeping 【发布时间】:2013-05-28 06:12:33 【问题描述】:

我正在尝试了解 Google Play Services 地理围栏和定位系统是否可以实际用于后台位置监控。

一个示例场景是,我将手机放在口袋里,然后进入一个地理围栏区域 - 我的应用程序中的事件处理程序是否会被触发,以便我可以适当地处理该事件,或者该系统是否仅供使用当手机处于唤醒状态且应用程序处于前台时?

我一直在研究示例代码,但到目前为止还没有设法让它以这种方式工作 - 或者找到完全解决这个问题的文档 - 对于人们来说,它似乎太新了,不能经常使用它。

显然手机在睡眠时不会持续使用 GPS,否则电池会很快耗尽,但我想知道是否监控广泛的网络位置并将其用于此目的(或发现设备是否在短时间内地理围栏的距离,以了解是否值得定期轮询 GPS 以查看是否已越过。)

【问题讨论】:

【参考方案1】:

这个(由 Commonsware 提供)对另一个问题的回答似乎回答了这个问题的总体主旨,尽管需要更多的测试来回答有关背景位置可用性、准确性和地理围栏可靠性的一些更详细的方面。

Commonsware

【讨论】:

【参考方案2】:

如果实施得当,即使您的应用程序处于后台,地理围栏也可以工作,并且可以从 ReceiveTransitionsIntentService 处理。在服务中,您可以创建通知并提醒用户返回您的应用程序。

但根据文档,如果用户在设备上禁用了定位服务,您注册的地理围栏将被删除,您必须重新添加所有地理围栏。 (不知道我们如何才能在后台添加地理围栏并没有找到解决方案)

在其他情况下,例如当设备关闭/电池耗尽/重新启动时测试我已经解决了这个问题)

【讨论】:

以上是关于安卓地理围栏系统(Google Play Services)能否在手机休眠时触发事件的主要内容,如果未能解决你的问题,请参考以下文章

安卓地理围栏

在 Google 的地理围栏教程中没有看到地理围栏转换

安卓系统怎么安装Google. play

Google Play 服务库是不是已更新?

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

如何更改地理围栏的形状