Android:制作地理围栏的简单方法?

Posted

技术标签:

【中文标题】Android:制作地理围栏的简单方法?【英文标题】:Android: Simple way to make a geofence? 【发布时间】:2012-08-15 06:25:41 【问题描述】:

我是 android 开发新手,我正在创建一个应用程序,允许用户在特定位置周围创建地理围栏以进行提醒。例如:在杂货店周围设置地理围栏,以提醒用户进入时拿起橙汁。

有没有人知道可以帮助开发这样的东西的教程?

【问题讨论】:

***.com/questions/4286439/location-alarm-for-android 可能是您需要的功能。 谢谢!这就是我要找的 【参考方案1】:

AFAIK 没有关于地理围栏的教程,但它非常简单(假设你想要一个圆形围栏)。

This tutorial会告诉你如何获取用户的位置 Any of these 链接将向您展示如何计算其当前位置与其围栏中心点之间的距离 定期计算它们与中心的距离。我会让他们通过设置屏幕设置间隔,并从大约五分钟的默认值开始,因为除此之外的任何东西都会消耗大量电池。每次获取时都存储该距离。 如果与新距离相比,他们的最后距离越过边界,请执行您的操作。例如,我开发了一个应用程序,如果孩子离开朋友家或到学校,它会提醒家长。

【讨论】:

及时检查(电池问题)是个好主意吗?如果应用程序“后台”或什至没有运行怎么办。在这些情况下,您将如何向用户推送通知? 这肯定会消耗电池电量,但是当您通过 LocationManager 注册更新时,您必须指定更新之间的最短时间。您可以使该时间变得非常大,而是依赖于更新参数之间的最小距离,但不能保证以这种方式及时响应。如果您的应用程序是后台服务,除非用户的手机遇到严重的处理器拖累,否则您不应该遇到它不活动的问题。在任何情况下,如果您想要这样做,您始终可以通过 NotificationManager 触发通知。【参考方案2】:

您可以使用 Google IO 2013 上发布的新 GeoFence 类:

http://developer.android.com/reference/com/google/android/gms/location/Geofence.html

【讨论】:

【参考方案3】:

我找到了这个简单且有效的示例

http://www.javacodegeeks.com/2011/01/android-proximity-alerts-tutorial.html

【讨论】:

【参考方案4】:

最近开发了一个名为 Proxim.io 的新 API,可以满足您的目的。该网站是 www.proxim.io。以下是开发者文档中的引述:

Proxim.io 是一个向您的应用程序用户提供相关消息的平台。基于实时位置、感兴趣的主题和地理触发器传递的消息。消息可以通过 Push 传递到设备,也可以通过 API(Web 事件)路由到软件系统。

【讨论】:

以上是关于Android:制作地理围栏的简单方法?的主要内容,如果未能解决你的问题,请参考以下文章

没有 requestLocationUpdates 不会触发 Android 地理围栏

未触发 Android 地理围栏广播接收器

使用半径内的设备添加地理围栏时从未收到地理围栏停留事件

圆形和矩形地理围栏的C逻辑/算法?

当您走进地理围栏时,如何为简单的信息敬酒?

地理围栏转换 PendingIntent 被 Android Oreo 上的操作系统阻止