Über Bluetooth können Geräte Daten übertragen, die für interaktive Dienste wie Audio, Messaging und Telefonie genutzt werden können. Die für verschiedene Dienste verwendeten Bluetooth-Profile finden Sie in include/hardware/bluetooth.h
.
Audio
Über eine Bluetooth-Verbindung können Benutzer Audio auf Bluetooth-fähigen Geräten streamen. In den meisten Audio-Anwendungsfällen ist das Android-Gerät die Quelle und das Wiedergabegerät, beispielsweise ein Lautsprecher oder ein Headset, die Senke.
Absolute Lautstärkeregelung
In Android 6.0 und höher ermöglicht der Android-Bluetooth-Stack einer Quelle das Festlegen einer absoluten Lautstärke, sodass Benutzer die Audiolautstärke genau steuern können. Das Quellgerät sendet ungedämpfte Audio- und Lautstärkeinformationen an die Senke. Die Senke verstärkt dann den Ton entsprechend den Lautstärkeinformationen, sodass Benutzer eine genaue Wiedergabelautstärke hören.
Das Quellgerät kann auch Lautstärkebenachrichtigungen registrieren. Wenn Volumenänderungen mit Steuerelementen an der Senke vorgenommen werden, sendet die Senke eine Benachrichtigung an die Quelle. Dadurch kann die Quelle Volumeninformationen auf einer Benutzeroberfläche genau anzeigen.
Die absolute Lautstärkeregelung ist standardmäßig aktiviert. Um die absolute Lautstärkeregelung zu deaktivieren, können Benutzer zu Einstellungen > System > Entwickleroptionen gehen und den Schalter für „Absolute Lautstärke deaktivieren“ auswählen.
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. Der Bluetooth-Stack unterstützt die Audio-Codec-Aushandlung, wenn Geräte eine Verbindung zu einer Remote-Audio-Senke herstellen. Bei dieser Aushandlung wird der beste Codec ausgewählt, der sowohl vom Sender als auch von der Senke unterstützt wird, um qualitativ hochwertiges Audio bereitzustellen. Nach der Auswahl werden alle Audiodaten durch den ausgewählten Encoder geleitet und dann an die Senke gesendet.
Implementierung
Geräte mit Android 8.0, die A2DP unterstützen, erhalten automatisch die zusätzliche Codec-Unterstützung. Für einige proprietäre Audio-Codecs müssen Gerätehersteller möglicherweise separate Lizenzen und Binärblobs erwerben. Neben SBC unterstützt Android 8.0 die folgenden Codecs:
- AAC
- aptX
- aptX HD
- LDAC
Gerätehersteller können wählen, welche Codecs ihre Geräte zuerst verwenden möchten. 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 Android Open Source-Projekt enthält einen Encoder für den LDAC-Codec von Sony, sodass dafür keine separate Lizenz oder Blob von Sony erforderlich ist. Um den LDAC-Codec in Ihr Gerät zu integrieren, registrieren Sie sich bei Sony und befolgen Sie den LDAC-Zertifizierungsprozess .
Auf der LDAC-Zertifizierungswebsite finden Sie Dokumentation zu LDAC, beispielsweise Spezifikations- und Betriebshandbücher. Die LDAC-Site bietet auch Validierungs- und Interoperabilitätstests für Mobil- und Tablet-Geräte. Senden Sie die bestandenen Testergebnisse an Sony, um die LDAC-Zertifizierung abzuschließen.
UI-Funktionen
Neben zusätzlicher Codec-Unterstützung bietet Android 8.0 eine benutzerseitige Einstellung zum Deaktivieren von High-Definition (HD)-Bluetooth-Audio-Codecs.
- Navigieren Sie zu Einstellungen > Verbundene Geräte > Bluetooth .
- Tippen Sie auf das Zahnradsymbol neben der Senke, für die Sie Codecs deaktivieren möchten.
- Deaktivieren Sie das Kontrollkästchen HD-Audio .
Gerätehersteller, die Einstellungen anpassen, sollten eine Möglichkeit für Benutzer implementieren, HD-Codecs zu deaktivieren.
Nachrichten
Mithilfe von Nachrichten über Bluetooth können Benutzer SMS-Nachrichten von einem Remote-Gerät aus lesen, durchsuchen und verfassen. Diese Funktion wird häufig verwendet, wenn ein Telefon an ein Infotainmentsystem im Fahrzeug angeschlossen wird.
Telefonie
Mit Bluetooth-Telefoniediensten können Benutzer Anrufe streamen und Kontakte von einem Telefon mit einem anderen Bluetooth-Gerät synchronisieren. Diese Funktionen werden häufig zum Freisprechen beim Autofahren genutzt.
In Android 8.0 unterstützt Bluetooth In-Band-Klingelton. Wenn ein über Bluetooth verbundenes Telefon einen eingehenden Anruf empfängt, wird der Klingelton auf der Senke abgespielt. Aktivieren Sie den In-Band-Klingelton unter Einstellungen > System > Entwickleroptionen , indem Sie den Schalter für „In-Band-Klingelton aktivieren“ auswählen.
Bluetooth-Funktionen
Zur Umsetzung der Bluetooth-Dienste unterstützt der Bluetooth-Stack eine Vielzahl von Profilen und Funktionen.
Bluetooth-Profile
Diese Profile sind für Bluetooth verfügbar:
Besonderheit | Android-Version | |||||
---|---|---|---|---|---|---|
Name | Beschreibung | 6,0 | 7.0 | 7.1 | 7.1.2 | 8,0 |
SAFT | SIM-Zugriffsprofil | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
KARTE | Nachrichtenzugriffsprofil für SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | Objekt-Push-Profil | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX über L2CAP | OBjektaustausch über Logical Link Control and Adaptation Protocol | Ja | Ja | Ja | Ja | Ja |
HFP-Audio-Gateway | Freisprechprofil | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
HSP | Headset-Profil | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Erweitertes Audioverteilungsprofil | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Audio-/Video-Fernbedienungsprofil | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
VERSTECKT | Profil für Benutzerschnittstellengeräte | 1,0 | 1,0 | 1,0 | 1,0 | 1,0 |
PBAP | Telefonbuch-Zugriffsprofil | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
HDP | Gesundheitsgeräteprofil | 1,0 | 1,0 | 1.1 | 1.1 | 1.1 |
SPP | Serielles Portprofil | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
PAN / BNEP | Persönliches Netzwerkprofil / Bluetooth Network Encapsulation Protocol | 1,0 | 1,0 | 1,0 | 1,0 | 1,0 |
TAUCHEN | Geräte-ID-Profil | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID über GATT | Ja | Ja | Ja | Ja | Ja |
HD-Audio 1 | Siehe „Erweiterte Audio-Codecs“ oben | NEIN | NEIN | NEIN | NEIN | Ja |
1 Die Implementierung von HD-Audio hängt von den Gerätefunktionen ab, sowohl von der Quelle als auch von der Senke.
Bluetooth Low Energy-Funktionen
Diese Funktionen sind für BLE verfügbar:
Besonderheit | 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 |
LE sichere Verbindungen | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
Datenpaketerweiterungen | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
32-Bit-UUIDs | Ja | Ja | Ja | Ja | Ja |
Dual Mode LE Zentral/Peripherie | Ja | Ja | Ja | Ja | Ja |
LE-Peripheriemodus | Ja | Ja | Ja | Ja | Ja |
Google HCI-Anforderungen | Ja | Ja | Ja | Ja | Ja |
LE-verbindungsorientierte Kanäle | NEIN | NEIN | NEIN | NEIN | NEIN |