我正在尝试将AltBeacon库实现为范围信标,类似于iOS的方式。然而,我很难让我的应用程序识别任何信标。
这是我的代码:
onCreate:
beaconManager.startMonitoringBeaconsInRegion(region) beaconManager = BeaconManager.getInstanceForApplication(this) beaconManager.bind(this) var region =beaconManager.bind(route.route.uuid,null,null,null)
onBeaconServiceConnect
override fun onBeaconServiceConnect() {
beaconManager.removeAllRangeNotifiers()
beaconManager.addRangeNotifier(object : RangeNotifier {
override fun didRangeBeaconsInRegion(
beacons: Collection<Beacon>,
region: Region?
) {
if (beacons.size > 0) {
println("I see ${beacons.size} beacons")
log += "The first beacon I see is about " + beacons.iterator().next().getDistance()
.toString() + " meters away."
log += "I see ${beacons.size} beacons.\n"
debugLog()
}
else
{
println("I see 0 beacons")
log += "I see 0 beacons\n"
debugLog()
}
}
})
try {
beaconManager.startRangingBeaconsInRegion(Region("myRangingUniqueId", null, null, null))
} catch (e: RemoteException) {
}
}我是否遗漏了一个元素来对标准的iBeacon BLE数据包进行范围调整?任何帮助都是非常感谢的。
谢谢
发布于 2020-04-27 22:04:39
最可能的原因是:
route.route.uuid与发射机的UUID不匹配。我写了一个像这样的检查表以帮助排除故障问题。
https://stackoverflow.com/questions/61468850
复制相似问题