Über Bluetooth können Geräte Daten übertragen, die für interaktive Dienste wie Audio, Messaging und Telefonie verwendet werden können. Die für verschiedene Dienste verwendeten Bluetooth-Profile finden Sie unter
include/hardware/bluetooth.h
.
Audio
Über eine Bluetooth-Verbindung können Nutzer Audio auf Bluetooth-fähigen Geräten streamen. Bei den meisten Audioanwendungen ist das Android-Gerät die Quelle und das Rendering-Gerät, z. B. ein Lautsprecher oder ein Headset, der Abnehmer.
Absolute Lautstärkeregelung
Unter Android 6.0 und höher kann eine Quelle über den Android-Bluetooth-Stack ein absolutes Lautstärkeniveau festlegen, sodass Nutzer die Audiolautstärke genau steuern können. Das Quellgerät sendet nicht gedämpfte Audio- und Lautstärkeinformationen an den Empfänger. Der Sink verstärkt dann das Audiosignal gemäß den Lautstärkeinformationen, damit Nutzer die Wiedergabelautstärke korrekt hören.
Das Quellgerät kann auch Benachrichtigungen zur Lautstärke registrieren. Wenn die Lautstärke über die Steuerelemente am Sink geändert wird, sendet der Sink eine Benachrichtigung an die Quelle. So können die Lautstärkeinformationen der Quelle auf einer Benutzeroberfläche korrekt angezeigt werden.
Die absolute Lautstärkeregelung ist standardmäßig aktiviert. Wenn Nutzer die absolute Lautstärkeregelung deaktivieren möchten, können sie zu Einstellungen > System > Entwickleroptionen gehen und die Option Absolute Lautstärkeregelung deaktivieren aktivieren.
Erweiterte Audio-Codecs
Unter Android 8.0 können Geräte, die das Advanced Audio Distribution Profile (A2DP) verwenden, zusätzliche Audiocodecs unterstützen. Der Bluetooth-Stack unterstützt die Audio-Codec-Verhandlung, wenn Geräte eine Verbindung zu einem Remote-Audio-Sink herstellen. Bei dieser Verhandlung wird der beste Codec ausgewählt, der sowohl vom Sender als auch vom Sink unterstützt wird, um Audio in hoher Qualität bereitzustellen. Nach der Auswahl wird der gesamte Audiostream über den ausgewählten Encoder geleitet und dann an den Sink gesendet.
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 Audiocodecs 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 Android Open Source Project enthält einen Encoder für den LDAC-Codec von Sony. Daher ist keine separate Lizenz oder ein separater Blob von Sony erforderlich. Wenn du den LDAC-Codec in deinem Gerät einbinden möchtest, musst du dich bei Sony registrieren und den LDAC-Zertifizierungsprozess durchlaufen.
Auf der LDAC-Zertifizierungswebsite finden Sie Dokumentationen zu LDAC, z. B. Spezifikations- und Betriebshandbücher. Die LDAC-Website bietet außerdem Validierungs- und Interoperabilitätstests für Smartphones und Tablets. Senden Sie bestandene Testergebnisse an Sony, um die LDAC-Zertifizierung abzuschließen.
UI-Funktionen
Neben der zusätzlichen Codec-Unterstützung bietet Android 8.0 eine Einstellung für Nutzer, mit der sich HD-Bluetooth-Audiocodecs (High Definition) deaktivieren lassen.
- Gehen Sie zu Einstellungen > Verbundene Geräte > Bluetooth.
- Tippe auf das Zahnradsymbol neben dem Sink, für den du Codecs deaktivieren möchtest.
- Entfernen Sie das Häkchen bei HD-Audio.
Gerätehersteller, die die Einstellungen anpassen, sollten Nutzern die Möglichkeit bieten, HD-Codecs zu deaktivieren.
Nachrichten
Mit Messaging über Bluetooth können Nutzer SMS-Nachrichten von einem Remote-Gerät lesen, durchsuchen und schreiben. Diese Funktion wird häufig verwendet, um ein Smartphone mit einem Infotainmentsystem im Fahrzeug zu verbinden.
Telefonie
Mit Bluetooth-Telefoniediensten können Nutzer Anrufe streamen und Kontakte von einem Smartphone mit einem anderen Bluetooth-Gerät synchronisieren. Diese Funktionen werden häufig für Anrufe per Sprachbefehl beim Autofahren verwendet.
Unter Android 8.0 wird über Bluetooth ein In-Band-Klingelton unterstützt. Wenn ein über Bluetooth verbundenes Smartphone einen Anruf empfängt, wird der Klingelton über den Küchen- bzw. Badezimmerspiegel abgespielt. Aktivieren Sie den In-Band-Klingelton unter Einstellungen > System > Entwickleroptionen, indem Sie die Option In-Band-Klingeln aktivieren aktivieren.
Bluetooth-Funktionen
Zur Implementierung der Bluetooth-Dienste unterstützt der Bluetooth-Stack eine Vielzahl von Profilen und Funktionen.
Bluetooth-Profile
Folgende Profile sind für Bluetooth verfügbar:
Funktion | Android-Version | |||||
---|---|---|---|---|---|---|
Name | Beschreibung | 6.0 | 7 | 7.1 | 7.1.2 | 8.0 |
SAP | SIM-Zugriffsprofil | 1,1 | 1,1 | 1,1 | 1,1 | 1,1 |
MAP | Nachrichtenzugriffsprofil für SMS | 1,9 | 1,9 | 1,9 | 1,9 | 1,9 |
OPP | Objekt-Push-Profil | 1,1 | 1,1 | 1,1 | 1,1 | 1,9 |
OBEX over L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Ja | Ja | Ja | Ja | Ja |
HFP-Audio-Gateway | Profil für Sprachbedienung | 1,6 | 1,6 | 1,7 | 1,7 | 1,7 |
HSP | Headset-Profil | 1,9 | 1,9 | 1,9 | 1,9 | 1,9 |
A2DP | Advanced Audio Distribution Profile | 1,9 | 1,9 | 1,9 | 1,9 | 1,9 |
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 | Telefonbuchzugriffsprofil | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1,9 |
HDP | Profil für Gesundheitsgeräte | 1.0 | 1.0 | 1,1 | 1,1 | 1,1 |
SPP | Serial Port Profile | 1,9 | 1,9 | 1,9 | 1,9 | 1,9 |
PAN / BNEP | Personal Area Networking Profile / Bluetooth Network Encapsulation Protocol | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
DIP | Geräte-ID-Profil | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID over GATT | Ja | Ja | Ja | Ja | Ja |
HD-Audio1 | Siehe oben „Erweiterte Audiocodecs“ | Nein | Nein | Nein | Nein | Ja |
1 Die Implementierung von HD-Audio hängt von den Gerätefunktionen ab, sowohl von der Quelle als auch vom Ziel.
Bluetooth Low Energy-Funktionen
Diese Funktionen sind für BLE verfügbar:
Funktion | Android-Version | ||||
---|---|---|---|---|---|
Name | 6.0 | 7 | 7.1 | 7.1.2 | 8.0 |
Sichere BR/EDR-Verbindungen | 4,1 | 4,1 | 4,1 | 4,1 | 5 |
Datenschutz für Strafverfolgungsbehörden | 4.2 | 4.2 | 4.2 | 4.2 | 5 |
LE-sichere Verbindungen | 4.2 | 4.2 | 4.2 | 4.2 | 5 |
Datenpaketerweiterungen | 4.2 | 4.2 | 4.2 | 4.2 | 5 |
32-Bit-UUIDs | Ja | Ja | Ja | Ja | Ja |
Dual-Mode LE-Zentrale/Peripheriegerät | Ja | Ja | Ja | Ja | Ja |
LE-Peripheriemodus | Ja | Ja | Ja | Ja | Ja |
HCI-Anforderungen von Google | Ja | Ja | Ja | Ja | Ja |
LE-Verbindungsorientierte Kanäle | Nein | Nein | Nein | Nein | Nein |