我想从Android手机传输iBeacon封包,带有数据标志。
数据标志(0x01)是表示信标能力的蓝牙间隙规范
我的情况:目前,我正在尝试使用BluetoothLeAdvertiser做广告。但它并不像我想的那样有效。我发现,我只能宣传“制造商特定数据”。
BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
mBluetoothAdapter = manager.getAdapter();
mBluetoothLeAdvertiser = mBluetoothAdapter.getBluetoothLeAdvertiser();
// Settings here
mBluetoothLeAdvertiser.startAdvertising(settings, getAdvertiseData(), mAdvertiseCallback);
我当前的结果:
我想要的:
通用iBeacon封包(下图)有数据标志,类型为0x01。我想将此标志添加到我的iBeacon广告数据包中。
这意味着,我想添加原始数据“0x020106”到数据包的头部。
如何存档?
等:
我已经阅读了下面的问题,但它对我的问题没有帮助。
Android设备可以充当iBeacon吗?
另外,我已经读到android ble api不支持数据标志<但是评论是在2015年,现在有什么有希望的变化吗?
https://github.com/AltBeacon/android-beacon-library/issues/141
不幸的是,Android BLE API目前不允许这样做,因此库无法做到这一点。
任何帮助都将不胜感激。非常感谢。
不幸的是,Android的Java BLE API无法做到这一点。我研究这个主题是为了回答您提到的Android Beacon库问题。Java API只允许公布服务数据或制造商数据。它们只是不够灵活,无法让您指定任何其他广告PDU。截至2016年5月,这一情况没有改变。
您可以通过下拉到较低级别并与C BlueDroid API交谈来做您想做的事情。但是这样做需要一个root设备,并且可能需要安装一个自定义的Android操作系统映像来让您访问。
Android设备能否充当iBeacon,并确定其他Android设备何时进入其范围?其他Android设备是否需要开启蓝牙? 如果一个顾客来到我的商店,他的设备上没有安装我的应用程序,iBeacon可以工作吗,还是他必须先安装应用程序?每天都有这么多顾客来我们的商店,但是如果他们没有安装我的应用程序,iBeacon的概念有用吗?
iOS7设备能否充当iBeacon并确定其他iOS7设备何时在其范围内?其他iOS7设备是否需要打开蓝牙?
想改进这个问题吗 通过编辑此帖子,更新问题,使其只关注一个问题。 在回答另一个问题时,我看到“你也可以在根Android4.4.3设备上作为信标进行传输,但它需要安装一个具有系统权限的应用程序。” 如何做到这一点?
我正试图写一个游戏计划,我需要这个问题的信息: Android设备可以像iOS设备一样用作iBeacon发射器吗?
在Android4.3之前,支持蓝牙低能耗的Android设备只能充当中央设备。正如Android 4.3蓝牙LE文档中所给出的: 随着Android4.4 KitKat的推出,它现在是否也能表现为外围设备呢?我找不到任何关于这一点的文件。如果没有,那么我们是否必须等待Android 4.5才能在Android设备上获得BTLE外设模式?或者有没有其他方法可以让Android设备充当外围设备?
有没有人使用三星的蓝牙LE API让三星Android设备作为iBeacon做广告?这应该是可能的,但我没有访问设备来尝试它。 如果有人用它来做三星Android设备的广告,作为任何其他蓝牙LE外设,我也想知道这一点。 编辑:这现在可以在Android L上实现。请参见此处。