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)