Informacje techniczne

Poniższy diagram przedstawia elementy systemu, które współpracują z Dialerem:

Komponenty, które współpracują z Dialerem

Rysunek 1. Komponenty, które współpracują z Dialerem

  • Interfejs systemu. Element nawigacji w dolnej części strony, który zawiera przycisk telefonu rejestrujący intencję intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end. Spowoduje to uruchomienie głównej aktywności użytkownika, czyli TelecomActivity.

  • Menu z aplikacjami zarządza całą listą aplikacji. Dialer deklaruje TelecomActivity za pomocą android.intent.category.LAUNCHER. Wybranie aplikacji telefonicznej z listy aplikacji w wyszukiwarce powoduje wyświetlenie TelecomActivity.

  • Widżet na ekranie głównym W dokumentacji AOSP nie ma widżetu Home. Producenci OEM mogą rozważyć dodanie widżetu Główne okno w aplikacji Dialer, aby wyświetlać stan bieżącego połączonego telefonu (a także inne informacje).

  • Centrum powiadomień

    • Powiadomienie o zbliżającym się połączeniu wyświetla się w przypadku połączeń przychodzących. Gdy Dialer InCallServiceImpl otrzyma połączenie przychodzące, umieści w Centrum powiadomień wiadomość z uprawnieniami, która zawiera szczegóły połączenia, takie jak numer telefonu lub informacje o kontaktach. Dialer wyświetla też 2 przyciski czynności: Odbierz i Odłóż. Po kliknięciu przycisku Odbierz połączenie połączenie zostanie odebrane, a InCallServiceImpl obsłuży aktywne połączenie, aby wyświetlić interfejs Dialer w interfejsie połączenia i zamknąć HUN. Kliknięcie HUN powoduje wyświetlenie pełnej strony Rozmowa z przyciskami Odbierz i Odrzuć.

    • Powiadomienie o nieodebranych połączeniach Kliknięcie powiadomienia powoduje wyświetlenie strony Historia połączeń i oznaczenie nieodebranych połączeń jako przeczytanych. Kliknięcie przycisku Zadzwoń ponownie powoduje nawiązanie połączenia i wyświetlenie interfejsu InCall.

  • Asystent. Użytkownicy mogą poprosić asystenta o nawiązanie połączenia, które może wyświetlić interfejs Dialer InCall.

  • Mapy Google. Wybieranie numeru w Mapach Google powoduje wysłanie intencji DIAL z dodatkowymi numerami telefonów, które uruchamiają stronę Dialpad do szybkiego wybierania.

  • CarInputService. Monitoruje przycisk wywoływania połączeń i przycisk zamykania połączeń na kierownicy. Naciśnięcie:

    • Przycisk połączenia na kierownicy, gdy nie ma połączenia przychodzącego, wysyła intencję DIAL i wyświetla stronę Dialpad w aplikacji Dialer.

    • Przycisk wywołania na kierownicy, gdy jest połączenie przychodzące, powoduje, że TelecomManager odbiera połączenie.

    • Przycisk Zakończ połączenie na kierownicy, gdy przychodzi połączenie, TelecomManager kończy połączenie.

  • Bluetooth

    • PBAPClient. Pobiera kontakty z telefonu i zapisują je w usługodawcy kontaktów. Dla każdego połączonego telefonu tworzone jest konto z adresem MAC Bluetooth jako nazwą konta i wartością com.android.bluetooth.pbapsink (@string/pbap_account_type zdefiniowaną w packages/apps/Bluetooth) jako typem konta. Kontakty zapisywane przez dostawcę kontaktów są zapisywane z informacjami o koncie i usuwane po odłączeniu telefonu. PBAPClient nie wchodzi w bezpośrednią interakcję z Dialerem, ale zamiast tego zapisuje kontakty w usłudze Kontakty. Dialer: odczytuje kontakty z usługodawcy kontaktów.

    • HfpClientConnectionService. Zarządza połączeniem Bluetooth za pomocą HFP i zgłasza je do usług telekomunikacyjnych.

  • Telekomunikacja. Platforma Android Telecom zarządza połączeniami audio i wideo na urządzeniu z Androidem. Aplikacja Dialer jest domyślną aplikacją telefoniczną, więc implementuje interfejsy API InCallService. InCallController łączy implementację usługi InCallService aplikacji Dialer z obsługą połączeń. Więcej informacji znajdziesz w artykułach Tworzenie zamiennika domyślnej aplikacji do telefonowaniaZostawanie domyślną aplikacją do telefonowania.

  • Ustawienia systemu. Dialer sprawdza listę urządzeń połączonych przez HFP i wyświetla komunikat o błędzie, gdy żaden telefon nie jest połączony z dialerem przez Bluetooth. W ramach AOSP przycisk Połącz z Bluetoothem przekierowuje użytkowników na stronę ustawień Bluetooth, na której mogą sparować nowe urządzenie lub połączyć się ze sparowanym urządzeniem.

  • Silnik dotyczący rozpraszania uwagi kierowcy Ta usługa systemu Android nakłada ograniczenia dotyczące UX na podstawie stanu jazdy samochodem. Dialer musi stosować wszystkie ograniczenia dotyczące UX, które mogą powodować rozproszenie uwagi.Aby to zrobić, Dialer musi słuchać CarUXRestrictionManager i wdrażać wszystkie zasady. Dialer musi:

    • Połącz się z biblioteką Car i uzyskaj instancję CarUXRestrictionManager.

    • Subskrybuj aktualizacje na liście CarUxRestrictions i wdróż je zgodnie z dokumentacją.

    • W przypadku Dialer szczególnie ważne są:

      • Strona Ustawienia jest dostosowana do pojazdu. Użytkownik nie może uzyskać dostępu do strony ustawień Dialer podczas jazdy. Po kliknięciu menu Ustawienia na pasku czynności wyświetla się ekran blokady, który uniemożliwia użytkownikowi dostęp do ustawień podczas jazdy. Jeśli strona Ustawienia jest już wyświetlana, pojawi się ekran blokujący, aby zatrzymać interakcję użytkownika.

      • Podczas jazdy nie można otworzyć ustawień systemu. Na stronie błędów, gdy żadne urządzenia Bluetooth nie są połączone, przycisk Połącz z Bluetoothem wyświetla stronę ustawień Bluetooth systemu. Użyteczność tego przycisku jest całkowicie ograniczona. Gdy użytkownik kliknie ten przycisk podczas jazdy, wyświetli się komunikat o błędzie, informujący go, że musi najpierw zaparkować samochód, a potem wykonać tę czynność.

      • Użytkownik nie może rozpocząć procesu dodawania do ulubionych podczas jazdy. Przycisk Dodaj do ulubionych jest wyłączony.

Wzorce przeglądania

Dialer Main

Poniżej znajdziesz różne strony aplikacji Dialer.

Główna strona Dialera

Rysunek 2. Główna strona Dialera

Obsługa połączeń

Poniżej przedstawiamy proces przekazywania połączeń:

Obsługa połączeń

Rysunek 3. Obsługa połączeń

Powiadomienia

Poniżej wyświetlają się różne strony powiadomień:

Powiadomienia

Rysunek 4. Powiadomienia

Stan połączenia

Poniżej przedstawiono przepływ na stronie Rozmowa:

Strona podczas połączenia

Rysunek 5. Strona podczas połączenia

Wyświetlane informacje:

Szukaj

Rysunek 6. Szukaj

Ustawienia

Opcje ustawień:

Ustawienia

Rysunek 7. Ustawienia