Przez Bluetooth urządzenia mogą przesyłać dane, które można wykorzystać w usługach interaktywnych, takich jak audio, wiadomości i telefonia. Profile Bluetooth używane w różnych usługach znajdziesz w
include/hardware/bluetooth.h
.
Audio
Połączenie Bluetooth umożliwia użytkownikom przesyłanie strumieniowe dźwięku na urządzenia obsługujące Bluetooth. W większości przypadków użycia dźwięku urządzenie z Androidem jest źródłem, a urządzenie odtwarzające, takie jak głośnik lub zestaw słuchawkowy, jest odbiornikiem.
Sterowanie głośnością bezwzględną
W Androidzie 6.0 i nowszych stos Bluetootha w Androidzie umożliwia źródłu ustawienie bezwzględnej głośności, co zapewnia użytkownikom precyzyjną kontrolę nad głośnością dźwięku. Urządzenie źródłowe wysyła do urządzenia docelowego nieosłabiony dźwięk i informacje o głośności. Odbiornik wzmacnia dźwięk zgodnie z informacjami o głośności, dzięki czemu użytkownicy słyszą dźwięk o odpowiedniej głośności.
Urządzenie źródłowe może też rejestrować powiadomienia o głośności. Gdy zmiany głośności są wprowadzane za pomocą elementów sterujących na urządzeniu odbierającym, wysyła ono powiadomienie do urządzenia źródłowego. Dzięki temu źródło może dokładnie wyświetlać informacje o głośności w interfejsie.
Sterowanie głośnością bezwzględną jest domyślnie włączone. Użytkownik może wyłączyć sterowanie głośnością bezwzględną w Ustawieniach > System > Opcje programisty, przesuwając przełącznik Wyłącz głośność bezwzględną do pozycji włączonej.
Zaawansowane kodeki audio
W Androidzie 8.0 urządzenia korzystające z profilu zaawansowanej dystrybucji dźwięku (A2DP) mogą obsługiwać dodatkowe kodeki audio. Stos Bluetooth obsługuje negocjacje kodeka audio, gdy urządzenia łączą się ze zdalnym odbiornikiem audio. W ramach tego procesu negocjacji wybierany jest najlepszy kodek obsługiwany zarówno przez nadawcę, jak i odbiorcę, aby zapewnić wysoką jakość dźwięku. Po wybraniu urządzenia kieruje ono cały dźwięk przez wybrany koder, a następnie wysyła go do odbiornika.
Implementacja
Urządzenia z Androidem 8.0 obsługujące A2DP automatycznie uzyskują dodatkową obsługę kodeków. Producenci urządzeń mogą potrzebować oddzielnych licencji i plików binarnych w przypadku niektórych kodeków audio objętych prawami własności. Oprócz SBC Android 8.0 obsługuje te kodeki:
- AAC
- aptX
- aptX HD
- LDAC
Producenci urządzeń mogą określać, które kodeki mają być używane w pierwszej kolejności. Ustaw priorytety kodeków, zmieniając te wartości w
res/values/config.xml
:
<!-- 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>
Certyfikat LDAC
Projekt Android Open Source Project (AOSP) zawiera koder kodeka LDAC firmy Sony, więc nie wymaga on osobnej licencji ani pliku binarnego od Sony. Aby zintegrować kodek LDAC z urządzeniem, zarejestruj się w Sony i postępuj zgodnie z procesem certyfikacji LDAC.
Na stronie certyfikacji LDAC znajdziesz dokumentację dotyczącą LDAC, taką jak specyfikacje i podręczniki obsługi. Na stronie LDAC znajdziesz też testy weryfikacyjne i testy interoperacyjności dla urządzeń mobilnych i tabletów. Wyślij wyniki testu do firmy Sony, aby uzyskać certyfikat LDAC.
Funkcje interfejsu
Android 8.0 oprócz dodatkowej obsługi kodeków udostępnia użytkownikom ustawienie, które umożliwia wyłączenie kodeków audio Bluetooth w wysokiej rozdzielczości (HD). Użytkownik może wyłączyć kodeki HD, otwierając Ustawienia > Połączone urządzenia > Bluetooth, klikając ikonę koła zębatego obok urządzenia i odznaczając pole wyboru Dźwięk HD.
Producenci urządzeń, którzy dostosowują Ustawienia, powinni umożliwić użytkownikom wyłączanie kodeków HD.
Wiadomości
Wiadomości przez Bluetooth umożliwiają użytkownikom czytanie, przeglądanie i tworzenie SMS-ów na urządzeniu zdalnym. Użytkownicy często korzystają z tej funkcji, gdy podłączają telefon do systemu informacyjno-rozrywkowego w samochodzie.
Połączenia telefoniczne
Usługi telefoniczne Bluetooth umożliwiają użytkownikom przesyłanie strumieniowe połączeń i synchronizowanie kontaktów z telefonu na inne urządzenie Bluetooth. Użytkownicy często korzystają z tych funkcji podczas prowadzenia samochodu, aby prowadzić rozmowy bez użycia rąk.
W Androidzie 8.0 Bluetooth obsługuje dzwonek w paśmie. Gdy telefon podłączony przez Bluetootha odbiera połączenie przychodzące, dzwonek jest odtwarzany na urządzeniu odbierającym. Włącz dzwonek w paśmie w Ustawieniach > System > Opcje programisty, klikając przełącznik Włącz dzwonek w paśmie.
Funkcje Bluetootha
Aby wdrożyć usługi Bluetooth, stos Bluetooth obsługuje różne profile i funkcje.
Profile Bluetooth
Dostępne są te profile Bluetooth:
Funkcja | Wersja Androida | |||||
---|---|---|---|---|---|---|
Nazwa | Opis | 6.0 | 7,0 | 7.1 | 7.1.2 | z Androidem 8.0 |
SAP | Profil dostępu do karty SIM | 1,1 | 1,1 | 1,1 | 1,1 | 1,1 |
MAPA | Profil dostępu do wiadomości 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 over L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Tak | Tak | Tak | Tak | Tak |
Brama audio HFP | Profil zestawu słuchawkowego | 1,6 | 1,6 | 1.7 | 1.7 | 1.7 |
HSP | Profil zestawu słuchawkowego | 1,2 | 1,2 | 1,2 | 1,2 | 1,2 |
A2DP | Profil zaawansowanej dystrybucji audio | 1,2 | 1,2 | 1,2 | 1,2 | 1,2 |
AVRCP | Profil zdalnego sterowania audio/wideo | 1.3 | 1.3 | 1.3 | 1.3 | 1,4 |
HID | Profil urządzenia interfejsu człowiek-maszyna | 1,0 | 1,0 | 1,0 | 1,0 | 1,0 |
PBAP | Profil dostępu do książki telefonicznej | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1,2 |
HDP | Profil urządzenia medycznego | 1,0 | 1,0 | 1,1 | 1,1 | 1,1 |
SPP | Profil portu szeregowego | 1,2 | 1,2 | 1,2 | 1,2 | 1,2 |
PAN / BNEP | Profil sieci osobistej / sieć Bluetooth Protokół enkapsulacji | 1,0 | 1,0 | 1,0 | 1,0 | 1,0 |
DIP | Profil identyfikatora urządzenia | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID over GATT | Tak | Tak | Tak | Tak | Tak |
Dźwięk HD | Zobacz Zaawansowane kodeki audio. Wdrożenie zależy od możliwości urządzenia, zarówno źródłowego, jak i odbiorczego. | Nie | Nie | Nie | Nie | Tak |
Funkcje Bluetooth Low Energy
W przypadku BLE dostępne są te funkcje:
Funkcja | Wersja Androida | ||||
---|---|---|---|---|---|
Nazwa | 6.0 | 7,0 | 7.1 | 7.1.2 | z Androidem 8.0 |
Bezpieczne połączenia BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5,0 |
Prywatność LE | 4,2 | 4,2 | 4,2 | 4,2 | 5,0 |
Bezpieczne połączenia LE | 4,2 | 4,2 | 4,2 | 4,2 | 5,0 |
Rozszerzenia pakietów danych | 4,2 | 4,2 | 4,2 | 4,2 | 5,0 |
32-bitowe identyfikatory UUID | Tak | Tak | Tak | Tak | Tak |
Tryb podwójny LE centralny/peryferyjny | Tak | Tak | Tak | Tak | Tak |
Tryb urządzenia peryferyjnego LE | Tak | Tak | Tak | Tak | Tak |
Wymagania Google dotyczące HCI | Tak | Tak | Tak | Tak | Tak |
Kanały zorientowane na połączenie LE | Nie | Nie | Nie | Nie | Nie |