BLE如何将uuid设置为16bit

时间:2018-05-25 10:45:59

标签: android bluetooth-lowenergy

我正在创建一个通过BLE广告数据的应用。 我正在使用像这样的128位UUID创建一个ParcelUuid

pUuid = new ParcelUuid(UUID.fromString("128-bit UUID)

我将它添加到广告数据中,就像这样

aData = new AdvertiseData.Builder()
                        .setIncludeDeviceName(true)
                        .addServiceData(pUuid, data.getBytes(Charset.forName("UTF-8")))
                        .build();

现在发生的事情是,它有时会像数据包中的16位UUID,有时会像128位UUID一样。

如何将其设置为仅作为16位UUID始终???

1 个答案:

答案 0 :(得分:4)

如果要声明16位UUID,则必须使用已修复的base-uuid:

override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?){
    var touchLeft : Bool = false
    var touchRight : Bool = false
    var touchMiddle : Bool = false

    for touch in (touches) {
        let location = touch.location(in: self)

        if(location.x < self.size.width/4){
            touchLeft = true
            print("Left")
        } else if(location.x > ((self.size.width/4) * 3)){
            touchRight = true
            print("Right")
        } else {
            touchMiddle = true
            print("Middle")
        }
    }
}

e.g。

0000xxxx-0000-1000-8000-00805F9B34FB

BLE标准将此UUID识别为16位。

您可以阅读有关16位UUID here

的更多信息