Compartir a través de


Especificación de funcionalidades de dispositivo para Bluetooth

Nota para Windows 10, consulta Qué es diferente en Windows 10.

 

El manifiesto del paquete es un documento XML que contiene la información que el sistema necesita para implementar, mostrar o actualizar una aplicación de aplicaciones de Windows Runtime. Esta información incluye la identidad del paquete, las dependencias del paquete, las funcionalidades necesarias, los elementos visuales y los puntos de extensibilidad. Cada paquete de aplicación debe incluir un manifiesto de paquete.

Para obtener información detallada sobre el manifiesto del paquete, consulte Cómo crear manualmente un manifiesto de paquete.

Una aplicación de Windows Runtime que accede a un dispositivo Bluetooth (a través de las API rfcomm o gatt) debe incluir datos específicos DeviceCapability en el nodo funcionalidades de de su manifiesto. Estos datos identifican el dispositivo y su propósito (o función). Tenga en cuenta que algunos dispositivos pueden tener varias funciones.

El elemento id. de dispositivo corresponde al identificador del dispositivo. Este elemento puede especificar una combinación id. de proveedor (vid) y id. de producto (pid); o bien, puede especificar una combinación de fabricante y Modelo; o bien, puede especificar una cadena genérica ("any"). Además, si el identificador de dispositivo especifica una de id. de proveedor (vid) y id. de producto (pid), puede contener una cadena de proveedor opcional de "usb" o "bluetooth".

El elemento Function Type especifica la función del dispositivo. Este elemento puede especificar un de nombre de servicio de Bluetooth (nombre) o id. de servicio (serviceId).

Uso de Bluetooth DeviceCapability

La aplicación Bluetooth debe incluir ciertas funcionalidades del dispositivo en su manifiesto del paquete de aplicación para especificar información clave sobre el dispositivo. Estos son los elementos necesarios en orden jerárquico:

DeviceCapability: el atributo nombre de debe ser "bluetooth.rfcomm" para acceder a un dispositivo RFCOMM Bluetooth o "bluetooth.genericAttributeProfile" para acceder a un dispositivo BLUETOOTH GATT.

<Device>: el atributo id. de debe especificar el identificador de proveedor o producto, o el fabricante o modelo, o puede ser "cualquiera" para permitir el acceso a cualquier dispositivo que coincida con el tipo de función.

<Function>: el atributo Type puede especificar el nombre del servicio o el identificador de servicio.

Nota No se puede modificar la funcionalidad del dispositivo Bluetooth en Microsoft Visual Studio. Debe hacer clic con el botón derecho en el archivo Package.appxmanifest en Explorador de soluciones y seleccionar Abrir con...y, a continuación, editor XML (texto). El archivo se abre en XML sin formato.

 

Definición de Rfcomm DeviceCapabilities

Usa el siguiente diseño para describir las funcionalidades RFCOMM de Bluetooth de la aplicación:

<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>

Definición de GenericAttributeProfile DeviceCapabilities

Usa el siguiente diseño para describir las funcionalidades del GATT de Bluetooth de la aplicación:

<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>

Cómo especificar ejemplos de DeviceCapabilities

Las siguientes entradas muestran diferentes métodos para definir DeviceCapabilities para un dispositivo Bluetooth.

En el fragmento de código siguiente se identifica el DeviceCapabilities para un dispositivo RFCOMM Bluetooth mediante el de id. de proveedor de y la combinación de id. de producto , junto con el proveedor opcional:

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="vidpid:0006 0001 bluetooth">
    <m2:Function Type="name:obexObjectPush"/>
  </m2:Device>
</m2:DeviceCapability>

Como alternativa, el fragmento de código siguiente identifica el DeviceCapabilities para un dispositivo RFCOMM Bluetooth mediante su identificador completo.

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="any">
    <m2:Function Type="name:AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE" />
  </m2:Device>
</m2:DeviceCapability>

En el fragmento de código siguiente se identifica el deviceCapabilities de para un dispositivo BLUETOOTH GATT mediante la combinación de fabricante de y modelo:

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
  <m2:Device Id="any">
    <m2:Function Type="name:heartRate" />
  </m2:Device>
</m2:DeviceCapability>

Compatibilidad con los servicios RFCOMM de Bluetooth

Los siguientes servicios RFCOMM se admiten a través del nombre valor:

  • name:serialPort
  • name:obexObjectPush
  • name:obexFileTransfer
  • name:phoneBookAccessPce
  • name:phoneBookAccessPse
  • name:genericFileTransfer

No se admiten los siguientes servicios RFCOMM:

  • Detección de servicios (0x1000)
  • Examinar descriptor de grupo (0x1001)
  • Acceso LAN mediante PPP (0x1102)
  • Auriculares (0x1108, 0x1112)
  • Telefonía inalámbrica (0x1109)
  • Origen de audio (0x110A) y Receptor (0x110B)
  • Intercomunicador (0x1110)
  • Fax (0x1111)
  • WAP (0x1113, 0x1114)
  • NAP (0x1116)
  • GN (0x1117)
  • Impresión de HCR (0x1126) y examen (0x1127)
  • Acceso ISDN común (0x1128)
  • Acceso SIM (0x112D)
  • Auriculares: HS (0x1131)
  • Servidor GNSS (0x1136)
  • Información de PnP (0x1200)
  • Redes genéricas (0x1201)
  • Audio genérico (0x1203)
  • Telefonía genérica (0x1204)
  • UPnP (0x1205, 0x1206)
  • DIRECCIÓN IP UPnP de ESDP (0x1300, 0x1301, 0x1302)
  • Origen de vídeo (0x1303) y Receptor (0x1304)
  • Origen de HDP (0x1401) y Receptor (0x1402)

Compatibilidad con servicios GATT de Bluetooth

Los siguientes servicios GATT se admiten a través del nombre de valor:

  • name:battery
  • name:bloodPressure
  • name:cyclingSpeedAndCadence
  • name:genericAccess
  • name:genericAttribute
  • name:glucosa
  • name:healthThermometer
  • name:heartRate
  • name:runningSpeedAndCadence

No se admite el siguiente servicio GATT:

  • Dispositivo de interfaz humana (0x1812)