Java 安卓:制作地理围栏的简单方法?

Java 安卓:制作地理围栏的简单方法?,java,android,geolocation,location,location-based-service,Java,Android,Geolocation,Location,Location Based Service,我是Android开发的新手,正在创建一个应用程序,允许用户在特定位置周围创建一个地理围栏,用于提醒。例如:在一家杂货店周围做一道土工栅栏,提醒用户进去买橙汁 有谁知道有一个教程可以帮助开发这样的东西吗?AFAIK没有关于地理围栏的教程,但是它非常简单(假设你想要一个圆形围栏) 将告诉您如何获取用户的位置 链接将向您展示如何计算其当前位置与其围栏中心点之间的距离 以固定的间隔计算它们与中心的距离。我会让他们通过设置屏幕设置时间间隔,并以大约五分钟的默认值开始,因为超过这个值的任何东西都会消耗大

我是Android开发的新手,正在创建一个应用程序,允许用户在特定位置周围创建一个地理围栏,用于提醒。例如:在一家杂货店周围做一道土工栅栏,提醒用户进去买橙汁


有谁知道有一个教程可以帮助开发这样的东西吗?

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

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

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


最近开发了一种名为Proxim.io的新API,可满足您的需要。该网站是www.proxim.io。以下是开发人员文档中的引用:


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

我发现了这个简单而有效的示例


可能是您需要的功能。谢谢!这就是我一直在寻找的,让它及时检查(电池问题)是个好主意吗?如果应用程序是“后台”的,甚至没有运行,该怎么办。在这些情况下,您将如何向用户发送推送通知?这肯定会耗尽电池电量,但当您通过LocationManager注册更新时,您必须指定更新之间的最短时间。您可以将该时间设置为难以置信的大,并依赖于“更新之间的最小距离”参数,但不能保证以这种方式及时响应。如果你的应用是一个后台服务,除非用户的手机遇到严重的处理器拖拽,否则你不应该在它不处于活动状态时遇到问题。在任何情况下,您都可以通过NotificationManager触发通知,如果您希望这样做的话。