Urządzenia mogą przesyłać przez Bluetooth 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ądzeniach obsługujących 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 słuchawki, jest odbiornikiem.
Sterowanie głośnością bezwzględną
W Androidzie 6.0 i nowszym stos Bluetootha w Androidzie umożliwia źródłu ustawienie bezwzględnej głośności, co daje użytkownikom dokładną 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. Urządzenie wyjściowe 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 wyjściowym, 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 użytkownika.
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 sekcji Ustawienia > System > Opcje programisty, klikając przełącznik Wyłącz głośność bezwzględną.
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 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 zyskują 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 kodeka 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 jest potrzebna osobna licencja ani plik binarny od Sony. Aby zintegrować kodek LDAC z urządzeniem, zarejestruj się w Sony i postępuj zgodnie z procesem certyfikacji LDAC.
W witrynie certyfikacyjnej LDAC znajdziesz dokumentację dotyczącą LDAC, np. specyfikację 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
Oprócz dodatkowej obsługi kodeków Android 8.0 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, wybierając Ustawienia > Połączone urządzenia > Bluetooth, klikając ikonę koła zębatego obok urządzenia wyjściowego 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 pisanie SMS-ów na urządzeniu zdalnym. Użytkownicy często korzystają z tej funkcji, gdy podłączają telefon do systemu multimedialno-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 wykonywać połączenia bez użycia rąk.
W Androidzie 8.0 Bluetooth obsługuje dzwonek w paśmie. Gdy telefon połączony przez Bluetootha odbiera połączenie przychodzące, dzwonek jest odtwarzany na zlewie. Włącz dzwonek w paśmie w Ustawieniach > System > Opcje programisty, ustawiając przełącznik Włącz dzwonek w paśmie w pozycji włączonej.
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 do monitorowania stanu zdrowia | 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 dotyczące HCI Google | Tak | Tak | Tak | Tak | Tak |
Kanały LE zorientowane na połączenie | Nie | Nie | Nie | Nie | Nie |