97

次のビーコン レイアウトを使用してAndroid ビーコン ライブラリのリファレンス実装アプリを正常に変更し、手元にある 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 の仕様と完全に一致していますか?

参照:

4

2 に答える 2

67

これは私にとってはうまくいきました: "m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"

4c00 の部分は製造元の ID であるため、一致させる必要はないと思います。おそらくそれを省略して、m:2-3=0215 で開始できます。他のすべては正しく見え、機能しているようです。

于 2014-07-31T02:20:18.810 に答える