如何以编程方式在Android(针对自己的移动设备)中设置iBeacon消息ID(UUID,主要,次要)?

时间:2018-11-26 19:38:27

标签: android bluetooth bluetooth-lowenergy uuid ibeacon-android

我的应用必须通过蓝牙广播iBeacon消息。 iBeacon消息应固定在特定的UUID(主要和次要)中。

不使用任何第三方应用程序怎么办? (我对库没事,只是我不希望用户需要其他应用程序来使用此应用程序。我希望该应用程序在使用时能够自立)。

编辑:我仅使用google ble文档构建了该文档,而未使用任何其他库。不过,我愿意实施任何可行的建议。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用Android Beacon Library,它是完全免费和开源的。

  1. 将此添加到build.gradle依赖项:

     dependencies {
        implementation 'org.altbeacon:android-beacon-library:2+'
     }
    
  2. 粘贴以下代码以启动发射机:

     Beacon beacon = new Beacon.Builder()
        .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6")
        .setId2("1")
        .setId3("2")
        .setManufacturer(0x004c)
        .setTxPower(-59)
        .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);
    

如果您真的不想针对第三方库进行编译,欢迎您复制BeaconTransmitter的源代码,但这很难做到:

https://github.com/AltBeacon/android-beacon-library/blob/master/src/main/java/org/altbeacon/beacon/BeaconTransmitter.java