我正在制作一个应用程序,当他靠近某些位置时通知用户,可能需要同时激活各种地理围栏。
因为Android的geofencing API最近更新了新Play Services并更新提及以提高电池消耗
最好同时使用多个地理位置来获取通知,还是应该定期将用户的位置发送到服务器并决定是否通知用户
多个地理围栏比检索位置和发送到服务器消耗更多内存
注意:地理围栏的数量可能超过100个,因此我可以使用在此情况下发布的here解决方案
答案 0 :(得分:1)
我有类似的东西,但是我使用了BLE,我的方法是在后端创建一个RESTful API,在那里我获得了所有的地理围栏和令牌并使用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