Usługi Bluetooth

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