您可以使用 AltBeacon/Android Beacon 库更新物理 Beacon 的额外数据字段吗?
Can you update the Extra data fields of a physical beacon using AltBeacon/Android Beacon libary?
我正在尝试查看是否可以使用 Android 信标库在物理信标上设置数据字段。函数 setExtraDataFields
存在,如果我在 Beacon
对象上调用它并立即调用 getExtraDataFields
,对象本身已经改变但是在下一次测距时,当我接收到信标信号时,getExtraDataFields
保持不变。我需要调用一些 "force" 或 "update" 函数来 enact/save 更改吗?我觉得这样的事情是可能的,因为位置应用程序试图改变我认为的设备的 RSSI,但到目前为止我发现的所有代码示例都是使用 Android 设备作为模拟信标。
遗憾的是,无法使用 Android 信标库来修改硬件信标的值。 getExtraDataFields 返回的值实际上是只读的。
两个原因:
蓝牙信标是一种单向发射器,可发送唯一标识符和相关数据。它们不接收数据,也无法通过同一通道进行远程更新。
一些信标硬件制造商确实有专有扩展,允许外部应用程序使用蓝牙服务来配置信标的标识符和数据字段。但是每个制造商这样做的机制都不同。 Android Beacon 库甚至无法确定它看到的每个 Beacon 是哪个制造商制造的,更不用说使用他们专有的 SDK 或服务来更新字段了。
底线:如果您想从您的应用程序中更新字段,您需要请您的硬件制造商为您提供操作说明。
我正在尝试查看是否可以使用 Android 信标库在物理信标上设置数据字段。函数 setExtraDataFields
存在,如果我在 Beacon
对象上调用它并立即调用 getExtraDataFields
,对象本身已经改变但是在下一次测距时,当我接收到信标信号时,getExtraDataFields
保持不变。我需要调用一些 "force" 或 "update" 函数来 enact/save 更改吗?我觉得这样的事情是可能的,因为位置应用程序试图改变我认为的设备的 RSSI,但到目前为止我发现的所有代码示例都是使用 Android 设备作为模拟信标。
遗憾的是,无法使用 Android 信标库来修改硬件信标的值。 getExtraDataFields 返回的值实际上是只读的。
两个原因:
蓝牙信标是一种单向发射器,可发送唯一标识符和相关数据。它们不接收数据,也无法通过同一通道进行远程更新。
一些信标硬件制造商确实有专有扩展,允许外部应用程序使用蓝牙服务来配置信标的标识符和数据字段。但是每个制造商这样做的机制都不同。 Android Beacon 库甚至无法确定它看到的每个 Beacon 是哪个制造商制造的,更不用说使用他们专有的 SDK 或服务来更新字段了。
底线:如果您想从您的应用程序中更新字段,您需要请您的硬件制造商为您提供操作说明。