Android 用于在设备(外围设备模式)上宣传二级可扩展业务的API

Android 用于在设备(外围设备模式)上宣传二级可扩展业务的API,android,bluetooth,bluetooth-lowenergy,Android,Bluetooth,Bluetooth Lowenergy,从上看,似乎有两种类型的ble(蓝牙低能)服务主服务和辅助服务。辅助服务包含在主服务中,类似于将服务嵌套在其他服务中。但是我没有找到任何api来创建辅助服务并宣传它 每当我们使用以下代码为服务做广告时,该服务就会被添加为主要服务 new AdvertiseData.Builder() // .setIncludeDeviceName(true) .addServiceUuid(new ParcelUuid(DeviceProfile

从上看,似乎有两种类型的ble(蓝牙低能)服务主服务和辅助服务。辅助服务包含在主服务中,类似于将服务嵌套在其他服务中。但是我没有找到任何api来创建辅助服务并宣传它

每当我们使用以下代码为服务做广告时,该服务就会被添加为主要服务

 new AdvertiseData.Builder()
               // .setIncludeDeviceName(true)
                .addServiceUuid(new ParcelUuid(DeviceProfile.SERVICE_UUID))
有没有办法在发布广告时指定服务的类型?我正在尝试构建一个应用程序来发布二级服务和一个客户端应用程序,该应用程序将连接到此二级服务并读取数据。如果有人知道解决方法,请告诉我。我做了很多研究,但找不到任何结果


提前感谢。

成功发布广告后,您可以执行以下操作:

BluetoothGattService service = new BluetoothGattService(serviceUUID,BluetoothGattService.SERVICE_TYPE_SECONDARY);
    service.addCharacteristic(characteristic);
    mGattServer.addService(service);

这将把服务添加为主要服务..我想将其公开为次要服务..@rupshjain现在查看答案将检查并让您知道..我想使用AdvertiseData.Builder()API来公布服务。将检查使用approach@rupeshjain广告发布后向GattServer添加辅助服务是否解决了您的问题?@jschlepp我没有尝试,因为我们更改了架构,使所有服务都成为主服务。。