Freigeben über


Angeben von Gerätefunktionen für Bluetooth

Hinweis für Windows 10 finden Sie unter Unterschiede in Windows 10.

 

Das Paketmanifest ist ein XML-Dokument, das die Informationen enthält, die das System zum Bereitstellen, Anzeigen oder Aktualisieren einer Windows-Runtime-Apps-App benötigt. Diese Informationen umfassen Paketidentität, Paketabhängigkeiten, erforderliche Funktionen, visuelle Elemente und Erweiterungspunkte. Jedes App-Paket muss ein Paketmanifest enthalten.

Ausführliche Informationen zum Paketmanifest finden Sie unter Erstellen eines Paketmanifests manuell.

Eine Windows-Runtime-App, die auf ein Bluetooth-Gerät (über die Rfcomm- oder Gatt-APIs) zugreift, müssen bestimmte DeviceCapability- Daten im Capabilities Knoten des Manifests enthalten. Diese Daten identifizieren das Gerät und seinen Zweck (oder seine Funktion). Beachten Sie, dass einige Geräte möglicherweise über mehrere Funktionen verfügen.

Das Geräte-ID--Element entspricht der Geräte-ID. Dieses Element kann eine Kombination Anbieter-ID (vid) und Produkt-ID (pid) angeben; oder kann eine Kombination aus Hersteller und Modell; oder sie kann eine generische Zeichenfolge ("beliebig") angeben. Wenn die Geräte-ID außerdem eine Anbieter-ID (vid) und Produkt-ID (pid) angibt, kann sie eine optionale Anbieterzeichenfolge von "usb" oder "bluetooth" enthalten.

Das Funktionstyp Element gibt die Gerätefunktion an. Dieses Element kann einen Bluetooth Dienstnamen (Name) oder Dienst-ID (ServiceId) angeben.

Bluetooth DeviceCapability-Verwendung

Ihre Bluetooth-App muss bestimmte Gerätefunktionen im App-Paketmanifest enthalten um wichtige Informationen zum Gerät anzugeben. Hier sind die erforderlichen Elemente in hierarchischer Reihenfolge:

<DeviceCapability>: Das attribut Name muss "bluetooth.rfcomm" sein, um auf ein Bluetooth RFCOMM-Gerät oder "bluetooth.genericAttributeProfile" für den Zugriff auf ein Bluetooth GATT-Gerät zuzugreifen.

<Device>: Die -ID Attribut muss die Anbieter-/Produkt-ID oder den Hersteller/das Modell angeben oder "beliebig" sein, um den Zugriff auf jedes Gerät zu ermöglichen, das dem Funktionstyp entspricht.

<Function>: Das attribut Type kann den Dienstnamen oder die Dienst-ID angeben.

Hinweis Sie können die Bluetooth-Gerätefunktion in Microsoft Visual Studio nicht ändern. Klicken Sie mit der rechten Maustaste auf die Datei "Package.appxmanifest" im Projektmappen-Explorer, und wählen Sie Öffnen mit...aus, und XML-Editor (Text). Die Datei wird in nur XML geöffnet.

 

Definieren von Rfcomm DeviceCapabilities

Verwenden Sie das folgende Layout, um die Bluetooth RFCOMM-Funktionen Ihrer App zu beschreiben:

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

Definieren von GenericAttributeProfile DeviceCapabilities

Verwenden Sie das folgende Layout, um die Bluetooth GATT-Funktionen Ihrer App zu beschreiben:

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

Angeben von DeviceCapabilities-Beispielen

Die folgenden Einträge veranschaulichen verschiedene Methoden zum Definieren DeviceCapabilities- für ein Bluetooth-Gerät.

Der folgende Codeausschnitt identifiziert die DeviceCapabilities- für ein Bluetooth RFCOMM-Gerät mithilfe der Anbieter-ID und Produkt-ID Kombination zusammen mit dem optionalen Anbieter:

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

Alternativ identifiziert der folgende Codeausschnitt die DeviceCapabilities- für ein Bluetooth RFCOMM-Gerät unter Verwendung seiner vollständigen ID.

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

Der folgende Codeausschnitt identifiziert die DeviceCapabilities- für ein Bluetooth GATT-Gerät mithilfe der Kombination Manufacturer und Model:

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

Unterstützung für Bluetooth RFCOMM-Dienste

Die folgenden RFCOMM-Dienste werden über den Namen Wert unterstützt:

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

Die folgenden RFCOMM-Dienste werden nicht unterstützt:

  • Dienstermittlung (0x1000)
  • Gruppendeskriptor durchsuchen (0x1001)
  • LAN-Zugriff mithilfe von PPP (0x1102)
  • Headset (0x1108, 0x1112)
  • Schnurlose Telefonie (0x1109)
  • Audioquelle (0x110A) und Sink (0x110B)
  • Intercom (0x1110)
  • Fax (0x1111)
  • WAP (0x1113, 0x1114)
  • NAP (0x1116)
  • GN (0x1117)
  • HCR Print (0x1126) und Scan (0x1127)
  • Allgemeiner ISDN-Zugriff (0x1128)
  • SIM-Zugriff (0x112D)
  • Headset – HS (0x1131)
  • GNSS-Server (0x1136)
  • PnP-Informationen (0x1200)
  • Generisches Netzwerk (0x1201)
  • Generisches Audio (0x1203)
  • Generische Telefonie (0x1204)
  • UPnP (0x1205, 0x1206)
  • ESDP UPnP IP (0x1300, 0x1301, 0x1302)
  • Videoquelle (0x1303) und Sink (0x1304)
  • HDP-Quelle (0x1401) und Sink (0x1402)

Unterstützung für Bluetooth GATT-Dienste

Die folgenden GATT-Dienste werden über den Namen Werts unterstützt:

  • name:battery
  • name:bloodPressure
  • name:cyclingSpeedAndCadence
  • name:genericAccess
  • name:genericAttribute
  • Name:Glukose
  • name:healthThermometer
  • name:heartRate
  • name:runningSpeedAndCadence

Der folgende GATT-Dienst wird nicht unterstützt:

  • Human Interface Device (0x1812)