这是使用AltBeacon的Android Beacon库检测iBeacon的正确布局吗?

问题描述 投票:92回答:2

我已使用以下reference implementation app成功修改了Android Beacon Librarybeacon layout,以便它检测到我手边的iBeacon设备:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
        beaconManager.getBeaconParsers().add(new BeaconParser().
               setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
        beaconManager.bind(this);
    }
}

是BLE数据包内部的新手,我不确定这是否是正确的布局。该库认可AltBeacon标准,并且其文档未提及如何检测iBeacon设备。

  • 此代码会检测all iBeacon设备吗?即m:前缀是否过于严格,还是与iBeacon规范匹配的正确字节序列?
  • 类似地,其余布局是否与iBeacon规范完全匹配?

参考:

ibeacon-android altbeacon
2个回答
62
投票

这对我有用:“ m:2-3 = 0215,i:4-19,i:20-21,i:22-23,p:24-24”

我认为您不需要匹配4c00零件,因为这是制造商ID,因此您可以将其保留,并以m:2-3 = 0215开头,其他一切看起来都不错,并且似乎可以正常工作。 >


2
投票

您可以下载iBeacon spec(单击“下载插图和规格”)。

© www.soinside.com 2019 - 2024. All rights reserved.