来自docs,似乎有两种类型的ble(蓝牙低功耗)服务 - 主要和辅助。辅助服务包含在主要服务< / strong>,在其他服务中嵌套服务的类型。但是我没有找到任何api来创建二级服务并做广告。
每当我们使用以下代码来宣传服务时,该服务都会被添加为主要服务。
new AdvertiseData.Builder()
// .setIncludeDeviceName(true)
.addServiceUuid(new ParcelUuid(DeviceProfile.SERVICE_UUID))
有没有办法在广告时指定服务类型?我正在尝试构建一个应用程序来宣传辅助服务和一个客户端应用程序,它将连接到这个辅助服务并读取数据。请让我知道如果有人知道一个解决方法来做它。我做了很多研究,但找不到任何东西。
提前致谢。
答案 0 :(得分:0)
成功发布广告后,您可以执行以下操作:
BluetoothGattService service = new BluetoothGattService(serviceUUID,BluetoothGattService.SERVICE_TYPE_SECONDARY);
service.addCharacteristic(characteristic);
mGattServer.addService(service);