Usługi Bluetooth

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).

  1. Kliknij Ustawienia > Połączone urządzenia > Bluetooth.
  2. Kliknij ikonę koła zębatego obok zlewozbioru, dla którego chcesz wyłączyć kodeki.
  3. 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