0

Android デバイス、Nexus 6 から iBeacon を送信するのに問題があります。Android デバイスまたは iTouch から送信しているビーコン信号を問題なく検出できますが、iPhone からの信号を見つけることができません。altbeacon ライブラリと BeaconTransmitter クラスを使用しています。別スレ立てました。

    new Thread(new Runnable() {
        @Override
        public void run() {
            mBeaconTransmitter = new BeaconTransmitter(CredentialActivity.this, new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
            beacon = new Beacon.Builder()
                    .setId1("BA39A880-799C-46FA-86AB-A4AC51927BAA")
                    .setId2("1")
                    .setId3(String.valueOf(selectedBouncer))
                    .setManufacturer(0x0000) // Choose a number of 0x00ff or less as some devices cannot detect beacons with a manufacturer code > 0x00ff
                    .setTxPower(-59)
                    .setDataFields(Arrays.asList(new Long[]{0l}))
                    .build();
                mBeaconTransmitter.startAdvertising(beacon);
        }
    }
    ).start();
}
4

1 に答える 1

3

いくつかのポイント:

  • コードは を呼び出し.setDatafields()ていますが、フォーマットにはデータ フィールド (「d:」プレフィックス) が定義されていません。への呼び出しを.setDatafields()削除する必要があります。

  • メーカー コードは、エミュレートするビーコン タイプを所有する会社の Bluetooth SIG メーカー コードと一致する必要があります。2 バイト コードの完全なリストは、こちらで確認できます。

また、ハードウェアの設定に問題がないことを確認できるように、Google Play ストアの次のアプリのいずれかがデバイスで動作することを確認することをお勧めします。これらのアプリは、Nexus 6 で iBeacon 広告を送信するために機能することが知られており、内部で同じライブラリを使用しています。

于 2015-01-14T21:13:42.220 に答える