Cómo especificar funcionalidades de dispositivos para Bluetooth

Nota Para Windows 10, consulte What's different in Windows 10 (Diferencias 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 Windows Runtime aplicaciones. Esta información incluye la identidad del paquete, las dependencias del paquete, las funcionalidades requeridas, 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, vea Cómo crear manualmente un manifiesto de paquete.

Una Windows Runtime que tiene acceso a un dispositivo Bluetooth (a través de las API Rfcomm o Rfcomm) debe incluir datos específicos de DeviceCapability en el nodo Funcionalidades 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) e 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 id. de dispositivo especifica un id. de proveedor (vid) e id. de producto (pid), puede contener una cadena de proveedor opcional de "usb" o "bluetooth".

El elemento Tipo de función especifica la función de dispositivo. Este elemento puede especificar un nombre Bluetooth servicio (nombre) o identificador de servicio (serviceId).

Bluetooth DeviceCapability Usage

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

<DeviceCapability>: el atributo Name debe ser "bluetooth.rfcomm" para acceder a un dispositivo RFCOMM de Bluetooth o "bluetooth.genericAttributeProfile" para acceder a un dispositivo BLUETOOTH DESA.

<Dispositivo>: el atributo Id 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.

<Función>: el atributo Type puede especificar el nombre del servicio o el identificador de servicio.

Nota No se puede modificar la Bluetooth del dispositivo 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

Use el diseño siguiente para describir las funcionalidades Bluetooth RFCOMM 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>

Definir GenericAttributeProfile DeviceCapabilities

Use el diseño siguiente para describir las funcionalidades 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

En las siguientes entradas se muestran distintos métodos para definir DeviceCapabilities para un Bluetooth dispositivo.

El fragmento de código siguiente identifica deviceCapabilities para un dispositivo Bluetooth RFCOMM mediante la combinación id. de proveedor e 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 DeviceCapabilities para un Bluetooth RFCOMM con 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 DeviceCapabilities para un dispositivo BLUETOOTH VEZ MEDIANTE la combinación fabricantey modelo:

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

Compatibilidad con Bluetooth rfcomm

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

  • 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)
  • Redes de acceso telefónico (0x1103)
  • Casco (0x1108, 0x1112)
  • Telefonía sin cable (0x1109)
  • Origen de audio (0x110A) y receptor (0x110B)
  • Control remoto A/V (0x110C, 0x110E, 0x110F)
  • Trasporte (0x1110)
  • Fax (0x1111)
  • WAP (0x1113, 0x1114)
  • PANU (0x1115)
  • NAP (0x1116)
  • LUGAR (0x1117)
  • Manos libres (0x111E, 0x111F)
  • Dispositivo de interfaz humana (0x1124)
  • Hcr Print (0x1126) y Scan (0x1127)
  • Acceso ISDN común (0x1128)
  • Acceso SIM (0x112D)
  • Casco: HS (0x1131)
  • Servidor 0X1136)
  • Información de PnP (0x1200)
  • Redes genéricas (0x1201)
  • Audio genérico (0x1203)
  • Telefonía genérica (0x1204)
  • UPnP (0x1205, 0x1206)
  • IP de UPnP de ESDP (0x1300, 0x1301, 0x1302)
  • Origen de vídeo (0x1303) y receptor (0x1304)
  • Distribución de vídeo (0x1305)
  • Origen de HDP (0x1401) y receptor (0x1402)

Compatibilidad con servicios BLUETOOTH DE

Se admiten los siguientes servicios DE ACUERDO a través del valor de nombre:

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

No se admite el siguiente servicio DE ACUERDO:

  • Dispositivo de interfaz humana (0x1812)