我已使用以下reference implementation app成功修改了Android Beacon Library的beacon 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设备。
m:
前缀是否过于严格,还是与iBeacon规范匹配的正确字节序列?参考:
这对我有用:“ m:2-3 = 0215,i:4-19,i:20-21,i:22-23,p:24-24”
我认为您不需要匹配4c00零件,因为这是制造商ID,因此您可以将其保留,并以m:2-3 = 0215开头,其他一切看起来都不错,并且似乎可以正常工作。 >
您可以下载iBeacon spec(单击“下载插图和规格”)。