我正在制作一个应用程序,当他靠近某些位置时通知用户,它可能需要同时激活各种地理围栏。
因为安卓的geofencing API最近更新了新的 Play Services并更新提及以改善电池消耗
同时使用多个地理围栏来获取通知是否更好,还是我应该定期将用户的位置发送到服务器并在那里决定是否通知用户
多个地理围栏是否比检索位置和发送到服务器消耗更多的内存
注意:地理围栏的数量可能超过 100,因此我可以使用发布的解决方案 here在那种情况下
最佳答案
我已经做了类似的事情,但我使用了 BLE,我的方法是在后端创建一个 RESTful API,在那里我获得了所有地理围栏和 token 并使用 Retrofit2 使用它,所以为了检查用户是否在附近快速操作(因为有时你没有信标):
for (int i = 0; i < latitud.length; i++) {
dest.setLatitude(latitud[i]);
dest.setLongitude(longitud[i]);
dist = me.distanceTo(dest);
if (dist <= 200) {
Toast.makeText(this, "Near of " + lugares[i]+ " get a reward!", Toast.LENGTH_LONG).show();
}
}
我把这个例子留在这里,还有一些在我的 git 帐户中。问候并希望它有所帮助。 https://github.com/AlbertoMobileApps/SimpleLocationExample
关于android - 就资源消耗而言,位置和地理围栏 api 之间的更好选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797829/