2013-05-31 78 views
-1

是否有可能制作基于位置的Android应用程序,例如,当您开始工作时,应用程序可能会关闭WiFi或蓝牙或更改任何其他系统设置以节省电池或其他设备?是否可以制作基于位置的应用程序?

该应用程序将要求用户输入他们希望应用程序开始工作的位置,如他们的地址,并且当手机看到他们已经到达此位置时它将开始工作。我想这样做,但我不知道从哪里开始。

我已经有一些android应用程序开发经验。

回答

0

我在Windows Phone上玩过一段时间的概念,我认为这也适用于Android。

基本上,您可以使用设备的GPS来检测您的位置,然后将其与用户保存的位置进行比较。如果位置在已保存设置的范围内,请执行操作。

但是,GPS的使用耗尽了电池,所以你不得不试验一下这个有效的方法。

+0

很酷谢谢我正在考虑这样做。但感谢提出电池的东西 –

0

您是否尝试过GeoFencing,它非常酷。它可以让你定义一个中心点和一个半径。一旦用户输入这个半径,你会得到回调或pendingIntent。你可以在你的回调中做你想要的。

您可以获得客户的地址并在其位置周围构建地理围栏。

编辑:

如果您选择不使用GeoFenceing(对什么都原因),注意LocationManager是非常马车和不稳定在大多数手机(三星)。

取而代之的是使用LocationClient,它会照顾所有垃圾LocationManager与我们一起处理并提供更快的位置,更少的电池和定制的准确性。

编辑:

如果有人试图否则说服你,检查this出来。谷歌开发人员的一段视频以及他们为什么要吸引人,以及他们为什么知道并帮助我们弄清楚传感器为整个解决方案添加的价值。

编辑:您的解决方案 的设计需要2个地理围栏 1)外,你可以硬编码这个从办公室虚500μm左右。从那时起,你可以开始寻找wifizones 2)一旦找到wifizone,保存gps和他的地址点的距离。那是你的内在半径。

1 Geofence由您的安装定义,第二个geofence由您的运行时定义。

第二个地理栅栏和从此将用于禁用GPS(只有在您决定使用LocationManager)。如果不是,你不会需要这个,LocationClient将做它最擅长的。

+0

听起来真棒ile检查出来,并回到你我认为它正是我需要 –

+0

我看着geofencing你做了一个好点,但与geofencing我可以让它,所以suer定义例如,用户可以输入他们的工作地址,当他们进入应用程序时会开始工作吗? –

1

是的,这绝对有可能。我已经在相同的概念上工作了大约三个应用程序。

您需要创建一个中心点并为其定义一个半径。 然后,您需要计算您当前位置与该特定中心点的距离,并且如果您的距离小于或等于半径,请触发以打开所需的服务。 Android中你可以使用

LocationManager class 

收集数据。如果你想要更多的帮助,我也可以提供相同的帮助。

+0

多数民众赞成在我真正想要什么,你会愿意帮助我沿着即时通讯只有15,这是我第一次认真尝试一个应用程序,不是你好世界或calcualtor哈哈。 –

+0

检查此URL http://developer.android.com/reference/android/location/Location.html#distanceBetween%28double,%20double,%20double,%20double,%20float%5B%5D%29功能之间的距离是你正在寻找的那个。 –

相关问题