我需要检测我的手机(机器人)是否已进入地图上的特定区域 - 该区域大约为300米x 300米。
一旦我获得了手机的位置,我就可以进行数学运算(这似乎很容易!),我只是不确定跟随手机获得最佳策略是什么定期更新。这就是我到目前为止所做的:
一个AlarmManager每隔(当前)1分钟就会发出一次......我将这个大约10分钟或更长时间。 AlarmManager检查是否有来自任何提供商(GPS或NETWORK)的15分钟以下的位置 如果没有可用的位置,或者它超过15分钟,它将请求单次更新。
我有这个:
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setPowerRequirement(Criteria.POWER_LOW);
......有可能拿起NETWORK提供商不是吗?目前这似乎并不太精确,它目前将我的手机放在路上一半。
此可能是错误的策略。在300米x 300米范围内有无线接入点和蓝牙点 - 我可以用它们来检测手机在附近吗?
答案 0 :(得分:1)
您应该使用ProximityAlert。
它允许您定义地图上的位置(纬度和经度)和半径。如果您进入或退出已定义的区域,则会发送意图。您可以捕获此意图并在您的应用程序中使用它。