Android Beacon Library の reference implementation app を次の beacon layout を使用して正常に変更しました。手元に:
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仕様に一致する正しいバイトシーケンスですか?参照:
それも私にとってはうまくいきました!
4c00の部分はメーカーIDであるため、一致させる必要はないと思います。そのため、おそらくそれを省いてm:2-3 = 0215で始めることができます。
iBeacon spec をダウンロードできます(「アートワークと仕様のダウンロード」をクリックします)。
現在のバージョンでは、会社IDmustは0x4C00
、およびビーコンタイプは0x0215
。他のすべてのフィールドは必須であり、指定したとおりです。
はい、あなたは正確に正しいです、そしてそれはすべての準拠したiBeaconsを検出します。
OT:広告間隔は100ミリ秒でなければならないことも指定していますが、すべてのiBeaconsがそれに固執していることを真剣に疑います。