Über Bluetooth können Geräte Daten übertragen, die für interaktive Dienste wie Audio, Messaging und Telefonie verwendet werden können. Die Bluetooth
Profile, die für verschiedene Dienste verwendet werden, finden Sie in
include/hardware/bluetooth.h.
Audio
Über eine Bluetooth-Verbindung können Nutzer Audio auf Bluetooth-fähigen Geräten streamen. In den meisten Fällen ist das Android-Gerät die Quelle und das Wiedergabegerät, z. B. ein Lautsprecher oder ein Headset, das Ziel.
Absolute Lautstärkeregelung
In Android 6.0 und höher kann die Android-Bluetooth-Stack eine absolute Lautstärke festlegen, sodass Nutzer die Lautstärke genau regeln können. Das Quellgerät sendet ungedämpfte Audio- und Lautstärkeinformationen an das Ziel. Das Ziel verstärkt dann das Audio entsprechend den Lautstärkeinformationen, sodass Nutzer die korrekte Wiedergabelautstärke hören.
Das Quellgerät kann auch Lautstärkemeldungen registrieren. Wenn die Lautstärke über die Steuerelemente am Ziel geändert wird, sendet das Ziel eine Benachrichtigung an die Quelle. So kann die Quelle die Lautstärkeinformationen genau auf einer Benutzeroberfläche anzeigen.
Die absolute Lautstärkeregelung ist standardmäßig aktiviert. Nutzer können die absolute Lautstärkeregelung unter Einstellungen > System > Entwickleroptionen deaktivieren, indem sie die Option Absolute Lautstärkeregelung deaktivieren auf „Ein“ stellen.
Erweiterte Audio-Codecs
In Android 8.0 können Geräte, die das Advanced Audio Distribution Profile (A2DP) verwenden, zusätzliche Audio-Codecs unterstützen. Die Bluetooth-Stack unterstützt die Audio-Codec-Verhandlung, wenn Geräte mit einem Remote-Audioziel verbunden werden. Bei dieser Verhandlung wird der beste Codec ausgewählt, der sowohl vom Absender als auch vom Ziel unterstützt wird, um eine hohe Audioqualität zu gewährleisten. Nach der Auswahl leitet das Gerät alle Audiodaten über den ausgewählten Encoder weiter und sendet sie dann an das Ziel.
Implementierung
Geräte mit Android 8.0, die A2DP unterstützen, erhalten automatisch die zusätzliche Codec-Unterstützung. Gerätehersteller müssen möglicherweise separate Lizenzen und Binär-Blobs für einige proprietäre Audio-Codecs erwerben. Neben SBC unterstützt Android 8.0 die folgenden Codecs:
- AAC
- aptX
- aptX HD
- LDAC
Gerätehersteller können auswählen, welche Codecs ihre Geräte zuerst verwenden sollen. Legen Sie die Codec-Prioritäten fest, indem Sie die folgenden Werte in
res/values/config.xml ändern:
<!-- Configuring priorities of A2DP source codecs. Larger value means
higher priority. Value -1 means the codec is disabled.
Value 0 is reserved and should not be used here. Enabled codecs
should have priorities in the interval [1, 999999], and each
priority value should be unique. -->
<integer name="a2dp_source_codec_priority_sbc">1001</integer>
<integer name="a2dp_source_codec_priority_aac">2001</integer>
<integer name="a2dp_source_codec_priority_aptx">3001</integer>
<integer name="a2dp_source_codec_priority_aptx_hd">4001</integer>
<integer name="a2dp_source_codec_priority_ldac">5001</integer>
LDAC-Zertifizierung
Das Open-Source-Projekt für Android (AOSP) enthält einen Encoder für den LDAC-Codec von Sony. Daher ist keine separate Lizenz oder kein Blob von Sony erforderlich. Wenn Sie den LDAC-Codec in Ihr Gerät einbinden möchten, registrieren Sie sich bei Sony und folgen Sie dem LDAC-Zertifizierungsprozess.
Auf der LDAC-Zertifizierungswebsite finden Sie Dokumentation zu LDAC, z. B. Spezifikations- und Bedienungshandbücher. Auf der LDAC-Website finden Sie auch Validierungs- und Interoperabilitätstests für Smartphones und Tablets. Senden Sie die bestandenen Testergebnisse an Sony, um die LDAC-Zertifizierung abzuschließen.
UI-Funktionen
Neben der zusätzlichen Codec-Unterstützung bietet Android 8.0 eine nutzerorientierte Einstellung zum Deaktivieren von Bluetooth-Audio-Codecs in High Definition (HD). Nutzer können HD-Codecs deaktivieren, indem sie zu Einstellungen > Verbundene Geräte > Bluetooth gehen, auf das Zahnradsymbol neben dem Ziel tippen und das Kästchen HD-Audio deaktivieren.
Gerätehersteller, die die Einstellungen anpassen, sollten eine Möglichkeit für Nutzer implementieren, HD-Codecs zu deaktivieren.
Messaging
Über Bluetooth können Nutzer SMS-Nachrichten von einem Remote-Gerät aus lesen, durchsuchen und verfassen. Nutzer verwenden diese Funktion häufig, wenn sie ein Smartphone mit einem Infotainmentsystem im Fahrzeug verbinden.
Telefonie
Mit Bluetooth-Telefoniediensten können Nutzer Anrufe streamen und Kontakte von einem Smartphone mit einem anderen Bluetooth-Gerät synchronisieren. Nutzer verwenden diese Funktionen häufig für Freisprechanrufe beim Fahren.
In Android 8.0 unterstützt Bluetooth den In-Band-Klingelton. Wenn ein über Bluetooth verbundenes Smartphone einen eingehenden Anruf erhält, wird der Klingelton auf dem Ziel wiedergegeben. Aktivieren Sie den In-Band-Klingelton unter Einstellungen > System > Entwickleroptionen , indem Sie die Option In-Band-Klingelton aktivieren auf „Ein“ stellen.
Bluetooth-Funktionen
Für die Implementierung der Bluetooth-Dienste unterstützt die Bluetooth-Stack eine Vielzahl von Profilen und Funktionen.
Bluetooth-Profile
Diese Profile sind für Bluetooth verfügbar:
| Funktion | Android-Version | |||||
|---|---|---|---|---|---|---|
| Name | Beschreibung | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
| SAP | SIM Access Profile | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
| MAP | Message Access Profile für SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| OPP | Object Push Profile | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
| OBEX über L2CAP | OBject EXchange über Logical Link Control and Adaptation Protocol | Ja | Ja | Ja | Ja | Ja |
| HFP Audio Gateway | Hands-Free Profile | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
| HSP | Headset Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| A2DP | Advanced Audio Distribution Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| AVRCP | Audio/Video Remote Control Profile | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
| HID | Human Interface Device Profile | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| PBAP | Phone Book Access Profile | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
| HDP | Health Device Profile | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
| SPP | Serial Port Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
| PAN / BNEP | Personal Area Networking Profile / Bluetooth Network Encapsulation Protocol | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| DIP | Device ID Profile | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
| HOGP 1.0 | HID over GATT | Ja | Ja | Ja | Ja | Ja |
| HD-Audio | Siehe Erweiterte Audio-Codecs. Die Implementierung hängt von den Gerätefunktionen ab, sowohl auf der Quelle als auch auf dem Ziel. | Nein | Nein | Nein | Nein | Ja |
Bluetooth Low Energy-Funktionen
Diese Funktionen sind für BLE verfügbar:
| Funktion | Android-Version | ||||
|---|---|---|---|---|---|
| Name | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
| Sichere BR/EDR-Verbindungen | 4.1 | 4.1 | 4.1 | 4.1 | 5.0 |
| LE-Datenschutz | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
| Sichere LE-Verbindungen | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
| Erweiterungen für Datenpakete | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
| 32-Bit-UUIDs | Ja | Ja | Ja | Ja | Ja |
| Dual-Mode-LE-Zentral-/Peripheriemodus | Ja | Ja | Ja | Ja | Ja |
| LE-Peripheriemodus | Ja | Ja | Ja | Ja | Ja |
| Google-HCI-Anforderungen | Ja | Ja | Ja | Ja | Ja |
| Verbindungsorientierte LE-Kanäle | Nein | Nein | Nein | Nein | Nein |