Как указать возможности устройства для Bluetooth
примечание для Windows 10 см. что отличается в Windows 10.
Манифест пакета — это XML-документ, содержащий сведения, необходимые системе для развертывания, отображения или обновления приложения среды выполнения Windows. Эти сведения включают удостоверение пакета, зависимости пакета, необходимые возможности, визуальные элементы и точки расширяемости. Каждый пакет приложения должен содержать один манифест пакета.
Подробные сведения о манифесте пакета см. в разделе Создание манифеста пакета вручную.
Приложение среды выполнения Windows, которое обращается к устройству Bluetooth (через API Rfcomm или Gatt), должно содержать определенные данные DeviceCapability в узле возможностей манифеста. Эти данные определяют устройство и его назначение (или функцию). Обратите внимание, что некоторые устройства могут иметь несколько функций.
Элемент идентификатора устройства
Элемент типа функции
Использование Bluetooth DeviceCapability
Приложение Bluetooth должно включать определенные возможности устройства в манифест пакета приложения , чтобы указать ключевые сведения об устройстве. Ниже приведены обязательные элементы в иерархическом порядке:
<устройства>: атрибут id должен указывать идентификатор поставщика или продукта или модель или быть "любым", чтобы разрешить доступ к любому устройству, соответствующему типу функции.
примечание Невозможно изменить возможности устройства Bluetooth в Microsoft Visual Studio. Щелкните правой кнопкой мыши файл Package.appxmanifest в обозревателя решений
Определение rfcomm DeviceCapabilities
Используйте следующий макет, чтобы описать возможности Bluetooth RFCOMM приложения:
<m2:DeviceCapability Name="bluetooth.rfcomm">
<m2:Device Id="vidpid:xxxx xxxx bluetooth">
<m2:Function Type="serviceId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
<m2:Function Type="name:xxxxx"/>
</m2:Device>
<m2:/DeviceCapability>
Определение genericAttributeProfile DeviceCapabilities
Используйте следующий макет, чтобы описать возможности Bluetooth GATT приложения:
<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
<m2:Device Id="model:xxxx;xxxx">
<m2:Function Type="serviceId:xxxxxxxx"/>
<m2:Function Type="name:xxxxx"/>
<m2:/Device>
<m2:/DeviceCapability>
Указание примеров deviceCapabilities
В следующих записях показано, как определить DeviceCapabilities для устройства Bluetooth.
Следующий фрагмент кода определяет
<m2:DeviceCapability Name="bluetooth.rfcomm">
<m2:Device Id="vidpid:0006 0001 bluetooth">
<m2:Function Type="name:obexObjectPush"/>
</m2:Device>
</m2:DeviceCapability>
Кроме того, следующий фрагмент кода определяет DeviceCapabilities для устройства Bluetooth RFCOMM с использованием полного идентификатора.
<m2:DeviceCapability Name="bluetooth.rfcomm">
<m2:Device Id="any">
<m2:Function Type="name:AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE" />
</m2:Device>
</m2:DeviceCapability>
Следующий фрагмент кода определяет
<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
<m2:Device Id="any">
<m2:Function Type="name:heartRate" />
</m2:Device>
</m2:DeviceCapability>
Поддержка служб Bluetooth RFCOMM
Следующие службы RFCOMM поддерживаются с помощью значения имени
- name:serialPort
- name:obexObjectPush
- name:obexFileTransfer
- name:phoneBookAccessPce
- name:phoneBookAccessPse
- name:genericFileTransfer
Следующие службы RFCOMM не поддерживаются:
- Обнаружение служб (0x1000)
- Обзор дескриптора группы (0x1001)
- Доступ к локальной сети с помощью PPP (0x1102)
- Гарнитура (0x1108, 0x1112)
- Шнуровая телефония (0x1109)
- Источник звука (0x110A) и приемник (0x110B)
- Интерком (0x1110)
- Факс (0x1111)
- WAP (0x1113, 0x1114)
- NAP (0x1116)
- GN (0x1117)
- Печать HCR (0x1126) и сканирование (0x1127)
- Common ISDN Access (0x1128)
- Доступ к SIM-картам (0x112D)
- Гарнитура — HS (0x1131)
- Сервер GNSS (0x1136)
- Сведения о PnP (0x1200)
- Универсальные сети (0x1201)
- Универсальный звук (0x1203)
- Универсальная телефония (0x1204)
- UPnP (0x1205, 0x1206)
- IP-адрес UPnP ESDP (0x1300, 0x1301, 0x1302)
- Источник видео (0x1303) и приемник (0x1304)
- Источник HDP (0x1401) и приемник (0x1402)
Поддержка служб Bluetooth GATT
Следующие службы GATT поддерживаются с помощью имени:
- name:battery
- name:bloodPressure
- name:cyclingSpeedAndCadence
- name:genericAccess
- name:genericAttribute
- name:глюкоза
- name:healthThermometer
- name:heartRate
- name:runningSpeedAndCadence
Следующая служба GATT не поддерживается:
- Устройство пользовательского интерфейса (0x1812)