Za pomocą Bluetooth urządzenia mogą przesyłać dane, które mogą być wykorzystywane do usług interaktywnych, takich jak dźwięk, wiadomości i telefonia. Profile Bluetooth używane w różnych usługach znajdziesz na stronie
include/hardware/bluetooth.h
.
Audio
Połączenie przez Bluetooth umożliwia użytkownikom przesyłanie strumieniowe dźwięku na urządzeniach z Bluetooth. W większości przypadków urządzenie z Androidem jest źródłem, a urządzenie do renderowania, takie jak głośnik lub zestaw słuchawkowy, jest odbiornikiem.
Sterowanie głośnością bezwzględną
W Androidzie 6.0 i nowszych pakiet Bluetooth umożliwia źródłu ustawienie głośności bezwzględnej, co daje użytkownikom dokładną kontrolę nad głośnością dźwięku. Urządzenie źródłowe wysyła do odbiornika nieosłabiony dźwięk i informacje o głośności. Następnie wzmacniacz wzmacnia dźwięk zgodnie z informacjami o głośności, dzięki czemu użytkownicy słyszą prawidłową głośność odtwarzania.
Urządzenie źródłowe może też rejestrować powiadomienia o głośności. Gdy nastąpi zmiana głośności za pomocą elementów sterujących na złączce, złączka wyśle powiadomienie do źródła. Dzięki temu źródło może prawidłowo wyświetlać informacje o głośności w interfejsie.
Sterowanie głośnością bezwzględną jest domyślnie włączone. Aby wyłączyć bezwzględną kontrolę głośności, użytkownicy mogą otworzyć Ustawienia > System > Opcje programisty i wybrać przełącznik Wyłącz głośność bezwzględną.
Zaawansowane kodeki audio
W Androidzie 8.0 urządzenia korzystające z profilu zaawansowanej dystrybucji audio (A2DP) mogą obsługiwać dodatkowe kodeki audio. Stos Bluetooth obsługuje negocjację 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 wszystkie dane audio są kierowane przez wybrany koder, a następnie wysyłane do odbiornika.
Implementacja
Urządzenia z Androidem 8.0, które obsługują A2DP, automatycznie zyskują obsługę dodatkowych kodeków. Producenci urządzeń mogą potrzebować osobnych licencji i plików binarnych w przypadku niektórych zastrzeżonych kodeków audio. Oprócz SBC Android 8.0 obsługuje te kodeki:
- AAC
- aptX
- aptX HD
- LDAC
Producenci urządzeń mogą wybrać, które kodeki ich urządzenia będą próbować używać w pierwszej kolejności. Ustaw priorytety kodeków, zmieniając te wartości w pliku
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 zawiera koder dla kodeka LDAC firmy Sony, więc nie jest potrzebna osobna licencja ani blob od Sony. Aby zintegrować kodek LDAC z urządzeniem, zarejestruj się w firmie Sony i postępuj zgodnie z procesem certyfikacji LDAC.
Na stronie certyfikatu LDAC znajduje się dokumentacja dotycząca LDAC, w tym specyfikacje i podręczniki operacyjne. Na stronie LDAC można też znaleźć testy walidacji i testy interoperacyjności na urządzeniach mobilnych i tabletach. Prześlij wyniki testu do Sony, aby uzyskać certyfikat LDAC.
Funkcje interfejsu użytkownika
Oprócz obsługi dodatkowych kodeków Android 8.0 udostępnia ustawienie dla użytkownika, które umożliwia wyłączenie kodeków audio Bluetooth w jakości wysokiej rozdzielczości (HD).
- Kliknij Ustawienia > Połączone urządzenia > Bluetooth.
- Kliknij ikonę koła zębatego obok zlewozbioru, dla którego chcesz wyłączyć kodeki.
- Odznacz pole wyboru Dźwięk HD.
Producenci urządzeń, którzy dostosowują ustawienia, powinni wdrożyć sposób umożliwiający użytkownikom wyłączenie kodeków HD.
Wiadomości
Wiadomości przez Bluetooth umożliwiają użytkownikom czytanie, przeglądanie i tworzenie SMS-ów z urządzenia zdalnego. Ta funkcja jest często używana podczas łączenia telefonu z systemem informacyjno-rozrywkowym w samochodzie.
Połączenia telefoniczne
Usługi telefoniczne Bluetooth umożliwiają użytkownikom strumieniowe przesyłanie połączeń i synchronizowanie kontaktów z telefonu na inne urządzenie Bluetooth. Te funkcje są często używane do nawiązywania połączeń bez użycia rąk podczas jazdy.
W Androidzie 8.0 Bluetooth obsługuje dzwonek w zakresie. Gdy telefon połączony przez Bluetooth otrzyma połączenie przychodzące, dźwięk dzwonka będzie odtwarzany na umywalce. Włącz dzwonek w zakresie w sekcji Ustawienia > System > Opcje programisty, przełączając Włącz dzwonek w zakresie.
Funkcje Bluetooth
Aby obsługiwać usługi Bluetooth, pakiet 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 |
MAPOWANIE (MAP) | Profil dostępu do wiadomości SMS | 1,2 | 1,2 | 1,2 | 1,2 | 1,2 |
OPP | Profil przesyłania obiektów | 1,1 | 1,1 | 1,1 | 1,1 | 1,2 |
OBEX przez L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Tak | Tak | Tak | Tak | Tak |
Brama audio HFP | Profil bez użycia rąk | 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 z interfejsem dla człowieka | 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 dotyczącego 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 / protokół sieciowy Bluetooth Encapsulation Protocol | 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 przez GATT | Tak | Tak | Tak | Tak | Tak |
Dźwięk HD1 | Zobacz sekcję „Zaawansowane kodeki audio” powyżej. | Nie | Nie | Nie | Nie | Tak |
1 Wdrożenie funkcji HD Audio zależy od możliwości urządzenia, zarówno źródła, jak i odbiorcy.
Funkcje Bluetooth Low Energy
Te funkcje są dostępne w przypadku BLE:
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 |
LE Privacy | 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 Central/Peripheral | Tak | Tak | Tak | Tak | Tak |
Tryb urządzenia peryferyjnego LE | Tak | Tak | Tak | Tak | Tak |
Wymagania Google dotyczące interfejsu użytkownika HCI | Tak | Tak | Tak | Tak | Tak |
Kanały związane z połączeniem LE | Nie | Nie | Nie | Nie | Nie |