android 有没有可能做一个基于位置的应用程序?

vh0rcniy  于 11个月前  发布在  Android
关注(0)|答案(3)|浏览(135)

有没有可能制作一个基于位置工作的Android应用程序,例如当你开始工作时,应用程序可能会关闭WiFi或蓝牙或更改任何其他系统设置,以保存电池或其他东西?
该应用程序将要求用户输入他们希望应用程序开始工作的位置,比如他们的地址,当手机看到他们已经到达这个位置时,它将开始工作。
我已经有一些Android应用程序开发经验。

t1qtbnec

t1qtbnec1#

是的,这绝对是可能的。我已经在大约三个应用程序与相同的概念。
你需要创建一个中心点,并定义一个半径。然后你需要计算你当前位置与该特定中心点的距离,如果你的距离小于或等于半径,触发打开你想要的服务。在Android中,你可以使用

LocationManager class

字符串
为了收集数据。如果你需要更多的帮助,我也可以提供同样的帮助。

yyyllmsg

yyyllmsg2#

我已经在Windows Phone上玩了一段时间这样的概念,我认为这也适用于Android。
基本上,您可以使用设备的GPS来检测您的位置,然后将其与用户保存的位置进行比较。如果位置在保存设置的范围内,则执行操作。
然而,GPS的使用会消耗电池,所以你必须尝试一下,使之成为一种有效的方法。

jjjwad0x

jjjwad0x3#

你试过GeoFencing吗?它真的很酷。它让你定义一个中心点和一个半径。一旦用户输入了这个半径,你就会得到回调或pendingIntent。你可以在回调中做你想做的事情。
您可以获取客户的地址,并在其位置周围建立地理围栏。
编辑:
如果您选择不使用GeoFenceing(无论出于什么原因),请注意,LocationManager在大多数移动的(三星)上都是高度错误和不稳定的。
相反,使用LocationClient,它照顾到所有的垃圾LocationManager留给我们处理,并提供定位更快,更少的电池和定制的准确性。
编辑:
如果有人试图说服你,看看this。来自谷歌开发人员的视频和他们的谈话,为什么LocationManager很糟糕,为什么他们知道并帮助我们找出传感器为整个解决方案增加的价值。
编辑:你的解决方案的设计你需要2个地理围栏1)外部,你可以把它硬编码到距离办公室500米的一个假想的地方。从那时起,你可以开始寻找无线区域2)一旦找到一个无线区域,保存gps和他的地址点的距离。这就是你的内半径。
第一个地理围栏由安装定义,第二个地理围栏由运行时定义。
第二个地理围栏,并从此被用来禁用GPS(只有在你决定使用LocationManager的情况下)。如果你不需要这个,LocationClient将做它最好的。

相关问题