2

我需要检测我的手机(android)是否进入了地图上的特定区域——该区域约为 300m x 300m。

一旦我确定了电话的位置,我就可以进行数学计算(这似乎很容易!),我只是不确定跟随电话并获得定期更新的最佳策略是什么。这是我到目前为止所拥有的:

一个 AlarmManager 每(当前) 1 分钟启动一次……我将把它增加到大约 10 分钟或更多。AlarmManager 检查是否可以从任何提供商(GPS 或 NETWORK)处获得 15 分钟以内的位置。

我有这个:

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

...这很可能会选择 NETWORK 提供商,不是吗?目前这似乎不太精确,它目前正在将我的手机放在半路。

可能是错误的策略。在 300m x 300m 区域内有 Wifi 接入点和蓝牙点 - 我可以使用这些来检测手机在附近吗?

4

1 回答 1

1

您应该为此使用ProximityAlert 。

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

于 2013-02-03T17:53:27.550 回答