Angeben von Gerätefunktionen für Bluetooth

Hinweis Weitere Windows 10 sie unter What es different in Windows 10.

 

Das Paketmanifest ist ein XML-Dokument, das die Informationen enthält, die das System zum Bereitstellen, Anzeigen oder Aktualisieren einer App Windows-Runtime Apps 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 Manuelles Erstellen eines Paketmanifests.

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

Das Device Id-Element entspricht der Geräte-ID. Dieses Element kann eine Kombination aus Vendor Id (vid) und Product Id (pid) angeben. Oder es kann eine Kombination aus Hersteller und Modell angegeben werden. Oder es kann eine generische Zeichenfolge ("any") angegeben werden. Wenn die Geräte-ID außerdem eine Anbieter-ID (vid) und eine Produkt-ID (PID) angibt, kann sie eine optionale Anbieterzeichenfolge "usb" oder "bluetooth" enthalten.

Das Function Type-Element gibt die Gerätefunktion an. Dieses Element kann einen Bluetooth Dienstnamen (Name) oder eine Dienst-ID (serviceId) angeben.

Bluetooth Verwendung von DeviceCapability

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

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

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

<Funktion>: Das Type-Attribut kann den Dienstnamen oder die Dienst-ID angeben.

Hinweis Sie können die Bluetooth-Gerätefunktion in der Microsoft Visual Studio. Sie müssen mit der rechten Maustaste auf die Datei Package.appxmanifest in Projektmappen-Explorer klicken und Öffnen mit... und dann XML-Editor (Text) auswählen. Die Datei wird im einfachen XML-Format geöffnet.

 

Definieren von Rfcomm DeviceCapabilities

Verwenden Sie das folgende Layout, um die rfcomm Bluetooth 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 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 von DeviceCapabilities für ein Bluetooth Gerät.

Der folgende Codeausschnitt identifiziert deviceCapabilities für ein Bluetooth RFCOMM-Gerät mithilfe der Kombination aus Anbieter-ID und Produkt-ID 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 mit 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 deviceCapabilities für ein Bluetooth-GATT-Gerät mithilfe der Kombination aus Herstellerund Modell:

<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 Namenswert unterstützt:

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

Die folgenden RFCOMM-Dienste werden nicht unterstützt:

  • Dienstermittlung (0x1000)
  • Durchsuchen des Gruppendeskriptors (0x1001)
  • LAN-Zugriff mithilfe vonPP (0x1102)
  • Dialup Networking (0x1103)
  • Headset (0x1108, 0x1112)
  • Kabellose Telefonie (0x1109)
  • Audioquelle (0x110A) und Senke (0x110B)
  • A/V-Remotesteuerung (0x110C, 0x110E, 0x110F)
  • Intercom (0x1110)
  • Fax (0x1111)
  • WAP (0x1113, 0x1114)
  • PANU (0x1115)
  • NAP (0x1116)
  • GN (0x1117)
  • Handsfree (0x111E, 0x111F)
  • Eingabegeräte (0x1124)
  • HCR Print (0x1126) und Scan (0x1127)
  • Common ISDN Access (0x1128)
  • SIM-Zugriff (0x112D)
  • Headset – HS (0x1131)
  • ISE-Server (0x1136)
  • PnP-Informationen (0x1200)
  • Generische Netzwerke (0x1201)
  • Generisches Audio (0x1203)
  • Generische Telefonie (0x1204)
  • UPnP (0x1205, 0x1206)
  • ESDP UPnP IP (0x1300, 0x1301, 0x1302)
  • Videoquelle (0x1303) und Senke (0x1304)
  • Videoverteilung (0x1305)
  • HDP-Quelle (0x1401) und Senke (0x1402)

Unterstützung für Bluetooth GATT-Dienste

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

  • name:battery
  • name:bloodPressure
  • name:bikeSpeedAndCadence
  • name:genericAccess
  • name:genericAttribute
  • name:diabetes
  • name:healthOmeter
  • name:heartRate
  • name:runningSpeedAndCadence

Der folgende GATT-Dienst wird nicht unterstützt:

  • Eingabegeräte (0x1812)