最近我得到了一个iBeacon设备,旨在创建Android应用程序而不是识别它并使用它。我是Android应用程序中使用蓝牙的新手,还有许多东西,我还不知道。在互联网和这个论坛上,我找到了使用Radius Networks的Android IBeacon库的建议,但是,现在它已经不再可用了:
https://github.com/RadiusNetworks/android-ibeacon-service
所以我开始使用Android开发人员指南中关于蓝牙低功耗的代码: https://developer.android.com/guide/topics/connectivity/bluetooth-le.html
使用此代码我可以检测设备,甚至可以连接到它,但我不知道如何获得Proximity Uuid以及主要和次要值:该应用程序显示了许多来自设备的服务和特征的Uuids ,但没有一个是设备的Proximity Uuid。
任何人都可以告诉我如何使用Android蓝牙LE API获取数据,或者帮助我获取Radius Networks的Eclipse iBeacon库以及使用它的指南或示例如何使用它?
谢谢。
答案 0 :(得分:2)
<强> EDIT / UPDATE: 强>
变好.. AltBeacon!
查看AltBeacon specifications
AltBeacon为信标传输和提供更高的透明度 Android,Windows和其他设备如何使用这些数据。
为什么RadiusNetworks的Android iBeacon图书馆不再可用:
供应商已开始遵守Apple制定的指导方针,并且 结果,被迫“擦洗”他们的任何参考产品 或Android设备与iBeacon检测之间的连接 协议
了解更多:
Apple cracks down on iBeacon for Android
我认为最好的选择似乎来自一直使用它的人,已经拥有它,可以与你分享,就像之前的提交一样,你可能无法获得所有组件 - 库,样本,服务
另外:A note from the CEO for Android iBeacon Lib, RadiusNetworks
现在,来到 Proximity UUID 和 major ,未成年人:
虽然您可以查看read major, minor, uuid of beacons in android和SensorTag using iBeacon Technology,但我还没有找到直接获取参数的方法。在后者中,在iBeacon服务之后有一个主要的,次要的,uuid的指示,但TI仪器可能是限制。
在android中,作为标识符..您可以通过信标/ device address
为每个device.getAddress()
恢复BluetoothDevice device;
。
答案 1 :(得分:2)
以下两个是完全不同的东西,虽然它们都被称为UUID。
关于“关贸总协定服务的UUID”应该了解的内容:
您应该了解的“iBeacon的接近UUID”:
因此,您需要做的是获取iBeacon信息(Proximity UUID,主要,次要,功率)如下。
如果您使用nv-bluetooth,则可以从以下广告数据包中提取iBeacon:
public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord)
{
// Parse the payload of the advertising packet.
List<ADStructure> structures =
ADPayloadParser.getInstance().parse(scanRecord);
// For each AD structure contained in the advertising packet.
for (ADStructure structure : structures)
{
if (structure instanceof IBeacon)
{
// iBeacon was found.
IBeacon iBeacon = (IBeacon)structure;
// Proximity UUID, major number, minor number and power.
UUID uuid = iBeacon.getUUID();
int major = iBeacon.getMajor();
int minor = iBeacon.getMinor();
int power = iBeacon.getPower();
........
有关详细信息,请参阅“iBeacon as a kind of AD structures”。
答案 2 :(得分:1)
RadiusNetworks已经结合新的跨平台信标接近规范“重新发布”了这些库和示例。