Aplikacja Dialer jest wyposażona w zintegrowaną platformę debugowania i testowania, która umożliwia weryfikowanie funkcji aplikacji Dialer bez konieczności korzystania z urządzeń do wykonywania połączeń. Dzięki temu nie trzeba używać Bluetooth ani połączonych telefonów z usługą sieci komórkowej. Ten framework testowania dialera (DTF) upraszcza te procesy:
- Skonfigurowanie rzeczywistego urządzenia w celu szybkiego sprawdzenia pomysłów zwykle zajmuje dużo czasu.
- Testowanie funkcji połączeń wielokrotnych wymaga co najmniej 3 telefonów z kartami SIM, z których 2 służą tylko do wykonywania połączeń.
- Debugowanie Dialer i jego zależności.
Funkcja Dialer zależy od kilku pakietów technologicznych, w tym telekomunikacji, telefonii i profilu Bluetooth Hands Free (HFP), więc błędy i problemy występujące w tych zależnościach mogą powodować niestabilność Dialer. DTF umożliwia działanie Dialera niezależnie od tych zależności.
Funkcje
Dokument DTF zawiera te funkcje:
- Miejsce docelowe połączenia. Nawiązuj i odbieraj połączenia bez konieczności korzystania z urządzenia obsługującego połączenia, korzystając z terminala i transmisji Android Debug Bridge (adb).
- Próbne połączenia Funkcja wywołania jest symulowana. Obejmuje to wstrzymywanie, wyciszanie, scalanie i rozłączanie.
Korzystanie z DTF
Uwaga: funkcja DTF jest dostępna tylko w Androidzie 11 lub nowszym.
Aby korzystać z DTF:
- Aby utworzyć i zainstalować wariant kompilacji
CarDialerAppForTesting
:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
W rezultacie
CarDialerAppForTesting
zastępuje oryginalną aplikację Dialer na urządzeniu testowym.CarDialerAppForTesting
nie działa na rzeczywistych urządzeniach. Aby przetestować aplikację na prawdziwym urządzeniu, ponownie zainstalujCarDialerApp.apk
.
Polecenia
Poniższe polecenia adb działają tylko po pierwszym uruchomieniu Dialer i wymagają zainicjowania odbiornika transmisji. Po uruchomieniu Dialer musi być połączone fałszywe urządzenie Bluetooth. Aby to zrobić, użyj polecenia (Konfiguracja) Łączenie urządzenia.
(Konfiguracja) Połącz urządzenie
Nawiązuje fałszywe połączenie Bluetooth z Dialerem i musi być wywołany najpierw, aby umożliwić dostęp do wszystkich poleceń związanych z połączeniami.
Aby połączyć urządzenie:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Uwaga: tych poleceń można używać dopiero po połączeniu fałszywego urządzenia Bluetooth.
Wykonywanie połączeń wychodzących
Aby wykonać połączenie wychodzące:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Odbieranie połączeń przychodzących
Aby odebrać połączenie przychodzące:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Kończenie połączenia
Aby zakończyć połączenie:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Wstrzymanie bieżącego połączenia
Aby wstrzymać bieżące połączenie:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Wznów bieżące połączenie
Aby wznowić bieżące połączenie:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Scal połączenia
Połącz połączenia główne i dodatkowe w jedno połączenie konferencyjne. To polecenie działa tylko wtedy, gdy istnieją zarówno rozmowy główna, jak i dodatkowa. Dotychczasowe połączenie konferencyjne jest traktowane jako pojedyncza jednostka.
Aby scalić połączenia:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Wyczyść wszystkie połączenia
Aby usunąć wszystkie połączenia z listy połączeń:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Kompilacja w emulatorze
Czasami deweloperzy mogą chcieć przetestować zmiany w interfejsie na emulatorze. W takich przypadkach CarDialerAppEmulatorBuild
zapewnia uproszczoną konfigurację i ograniczoną funkcjonalność w porównaniu z bardziej zaawansowanym DTF.
Dane testowe
Po uruchomieniu Dialer zamiast strony z błędem Bluetooth wyświetla się główna zawartość aplikacji TelecomActivity
. Kontakty i rejestr połączeń są wyświetlane na lokalnym urządzeniu. Deweloperzy mogą użyć domyślnej aplikacji Kontakty, aby utworzyć testowe kontakty lub zaimportować plik .vcf
.
Naśmiewanie
Aby symulować połączenia przychodzące, użyj emulatora Androida do wysyłania poleceń Telnet. Więcej informacji znajdziesz w artykułach uruchamianie aplikacji na emulatorze Androida i wysyłanie poleceń do konsoli emulatora.
telnet localhost 5554 gsm call xxx-xxx-xxxx
Wykonywanie połączenia w aplikacji Dialer lub nadawanie intencji połączenia powoduje nawiązanie połączenia wychodzącego.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx