我正在寻找从Android设备检测iBeacon(iOS 7.0function)的方法。 我阅读了Android文档,似乎iBeacon是某种发送它的位置的GATT服务器。 虽然Android的文件说,我不应该轮询这些数据,但为检测这将是nessesary。 我谷歌了很多,但这个话题是相当新的(我甚至创build了一个新的标签ibeacon ),所以我会很高兴,如果我得到一些链接从iOS世界描述的实施资源。 此外,如果有一些Android的库,我没有find,但会很好。
我已经使用以下信标布局成功修改了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包的例子