【发布时间】:2016-05-17 11:40:28
【问题描述】:
我想从安卓手机传输 iBeacon 数据包,带有数据标志。
Data Flag (0x01) 是代表信标功能的蓝牙 GAP 规范。
我的情况:
目前,我正在尝试使用BluetoothLeAdvertiser 做广告。但它不像我想的那样工作。我发现,我只能宣传“制造商特定数据”。
BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
mBluetoothAdapter = manager.getAdapter();
mBluetoothLeAdvertiser = mBluetoothAdapter.getBluetoothLeAdvertiser();
// Settings here
mBluetoothLeAdvertiser.startAdvertising(settings, getAdvertiseData(), mAdvertiseCallback);
我目前的结果:
我想要什么:
常见的 iBeacon 数据包(下图)有数据标志,类型 0x01。我想将此标志添加到我的 iBeacon 广告数据包中。
这意味着,我想将原始数据“0x020106”添加到数据包的头部。
我该如何存档?
等等:
我已经阅读了下面的问题,但这对我的问题没有帮助。
Can an Android device act as an iBeacon?
另外,我已经读过 android ble api 不支持数据标志。
但是评论是2015年的,现在有希望的变化吗?
https://github.com/AltBeacon/android-beacon-library/issues/141
很遗憾,Android BLE API 目前不允许这样做,因此库不能这样做。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
iBeacon 是 Apple 自己的 BLE 的一部分。如果没记错的话,不久前就 AltBeacon 支持库和 Apple 发生了一场法律纠纷。
-
感谢您的评论,t0mm13b。我明白。我的意思是,我可以在“信标包”中添加“数据标志(0x01)”和“制造商特定数据(0xFF)”吗?
-
你真的先试过了吗?
-
我尝试了“iBeacon 格式”、“Alt 信标格式”,发送信标包成功。但我未能添加“数据标志”。我想将原始数据“0x020106”添加到我的信标包中。我可以存档吗?
标签: android ibeacon android-ibeacon