使用Android Beacon Library作为iBeacon进行传输

时间:2016-08-08 09:57:36

标签: android bluetooth-lowenergy ibeacon android-ibeacon

我正在尝试使用Android Beacon Library传输iBeacon,但我不确定我的代码是否正确。我使用类似nRF主控制面板的应用来验证它是否作为iBeacon进行传输,但它似乎没有这样做。

以下是我的代码

Beacon beacon = new Beacon.Builder()
                        .setId1("6fb0e0e9-2ae6-49d3-bba3-3cb7698c77e2")
                        .setId2(Integer.toString(minor1))
                        .setId3(Integer.toString(minor2))
                        .setManufacturer(0x0000)
                        .setTxPower(-59)
                        .setDataFields(Arrays.asList(new Long[] {0l}))
                        .build();
                BeaconParser beaconParser = new BeaconParser()
                        .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24");
                BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser);
                beaconTransmitter.startAdvertising(beacon);
            }
        });

谢谢!

1 个答案:

答案 0 :(得分:0)

代码看起来正确。一些提示:

  1. 确保蓝牙已开启。
  2. 验证您的设备是否支持传输。点击此处的列表http://altbeacon.github.io/android-beacon-library/beacon-transmitter-devices.html
  3. 进行此调用以测试是否支持:

    int result = BeaconTransmitter.checkTransmissionSupported(context);
    
  4. 如果设备支持传输,则该方法返回BeaconTransmitter.SUPPORTED。它也可能会返回:

        NOT_SUPPORTED_MIN_SDK
        NOT_SUPPORTED_BLE
        NOT_SUPPORTED_MULTIPLE_ADVERTISEMENTS (deprecated)
        NOT_SUPPORTED_CANNOT_GET_ADVERTISER_MULTIPLE_ADVERTISEMENTS
        NOT_SUPPORTED_CANNOT_GET_ADVERTISER
    

    NOT_SUPPORTED_CANNOT_GET_ADVERTISER_MULTIPLE_ADVERTISEMENTSNOT_SUPPORTED_MULTIPLE_ADVERTISEMENTSNOT_SUPPORTED_CANNOT_GET_ADVERTISER返回通常表示该设备没有兼容的芯片组,或者制造商尚未实现Google针对Android所需的驱动程序支持5.x BLE传输API。