我找到了关于如何定位所有信标并找到最近的信标的帖子。我做得很好。但是现在我想为一组多个信标做同样的事情。我假设区域是使用AltBeacon库执行此操作的最佳方式。我不关心Apple / iBeacon兼容性。
我正在寻找建立一个简单的家庭规模分区系统,每个房间都有一组信标。
我在Reference应用程序中工作。我不是一个真正的开发者,所以我的努力基于例子。我对java结构一无所知。弄清楚在哪里放置一些代码示例对我来说很有挑战性。
截至目前,我已将一些代码放入didRangeBeaconsInRegion部分,但它会触发我创建的所有区域(每个房间1个)。我不知道如何在该代码部分的多次运行中跟踪状态?
我的猜测是,如果区域不能用于此,那么某种类型的位置数组以及状态"数组"跟踪每个信标的状态并根据顶部条目判断位置是下一个最佳选择吗?
TIA!
答案 0 :(得分:0)
在家庭应用程序中,大多数(如果不是全部)信标通常都在范围内。区域可能无济于事,因为即使您将信标组织到区域,您的移动设备也会同时报告所有区域。
我要做的是将每个信标的第三个信标标识符(即ID3或“次要”)设置为每个房间的相同值。 (例如,1用于厨房,2用于起居室等)。然后只使用一个匹配所有信标的区域。
在您的测距回调中,通过比较每个信标的距离字段找出哪个信标最近。 (最低的一个是最接近的。)最后,查看最近的信标的ID2值,以确定您所在的房间。