2013-02-03 36 views
2

我需要检测我的手机(android)是否进入了地图上的特定区域 - 该区域大约为300米x 300米。检测区域内的电话

一旦我有打电话的位置,我能够做数学题(这似乎是比较容易的部分!),我只是不知道,最好的策略是什么,下面的电话,定期更新。这是我到目前为止有:

的AlarmManager衬托出每一个(目前)1-分分秒秒,我会了这个约10 minutesish以上。 AlarmManager检查是否可以从任何提供商(GPS或网络)获得小于15分钟的位置 如果没有可用的位置,或者它早于15分钟,它将请求单个更新。

我有这样的:

criteria.setAccuracy(Criteria.ACCURACY_COARSE); 
criteria.setPowerRequirement(Criteria.POWER_LOW); 

...这可能拿起网络供应商是不是?目前看起来不太精确,目前它正在将我的手机放在路上。

可以是错误的战略。在300米x 300米范围内有Wifi接入点和蓝牙点 - 我可以使用这些来检测手机是否在附近?

回答

1

您应该使用这个ProximityAlert

它允许你定义地图(纬度和经度)和半径上的位置。如果您进入或退出定义区域,则发送意图。你可以抓住这个意图并在你的应用程序中使用它。

+0

我看了一下ProximityAlert但我带领相信它是一个真正的饥渴电池噬魂 - 似乎相当严重依赖GPS是没有那么大。你有没有使用过这方面的经验,基本上整天都在运行它? – Paul

+0

找到您的设备总是(或多或少)耗能。如果您想在更新修复程序之前等待数十分钟,则可能需要实施自己的解决方案。但请记住,接近警报独立于您的应用程序,并且不需要保持应用程序/服务在后台运行。 – Dan