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

我已经使用以下信标布局成功修改了Android Beacon库的参考实现应用程序 ,以便它可以检测到我手边的一个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设备。

  • 此代码是否会检测到所有的 iBeacon设备? 即m:前缀是否过于严格,还是与iBeacon规范相匹配的正确字节序列?
  • 同样,布局的其余部分是否完全符合iBeacon规范?

参考:

  • 在SO上看到的一个iBeacon包的例子

这也对我有用!

我不认为你需要匹配的4c00部分,因为这是制造商的ID,所以你可以离开,并从m:2-3 = 0215开始一切看起来是正确的,它似乎工作。

您可以下载iBeacon规格 (点击“下载graphics和规格”)。

在当前版本中,公司ID 必须0x4C00 ,而信标types必须是0x0215 。 所有其他领域是必需的,并按照您的指定。

所以是的,你是完全正确的,它会检测所有符合的iBeacons。

OT:它也指定广告间隔时间必须是100ms,但我严重怀疑所有iBeacons坚持。

Interesting Posts