Dialer оснащен интегрированной средой отладки и тестирования, которая позволяет вам проверять функции приложения Dialer без необходимости использования устройств, готовых к вызову. Это устраняет необходимость в Bluetooth и подключенных телефонах с сотовой связью. Эта структура тестирования номеронабирателя (DTF) упрощает следующие процессы:
- Настройка реального устройства для быстрой проверки идей обычно требует времени.
- Для тестирования функций множественных вызовов требуется как минимум три телефона с SIM-картами, два из которых используются только для совершения вызовов.
- Отладка номеронабирателя и его зависимостей.
Поскольку функциональность номеронабирателя зависит от нескольких технологических стеков, включая телекоммуникации, телефонию и Bluetooth Hands Free Profile (HFP), ошибки и проблемы, возникающие в этих зависимостях, могут вызвать нестабильность номеронабирателя. DTF позволяет номеронабирателю работать независимо от этих зависимостей.
Функции
DTF предоставляет следующие возможности:
- Размещение звонков. Совершайте и принимайте вызовы без использования устройства, готового к вызову, через терминал с трансляцией Android Debug Bridge (adb) .
- Ложные звонки. Функциональность вызова издевается. Это включает в себя удержание, отключение звука, слияние и отключение.
Использование DTF
Примечание . DTF доступен только в Android 11 или более поздней версии.
Чтобы использовать ДТФ:
- Соберите и установите вариант сборки
CarDialerAppForTesting
следующим образом:cd %rRepoRoo%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoo%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
В результате
CarDialerAppForTesting
заменяет исходное приложение для набора номера на тестовом устройстве.CarDialerAppForTesting
не работает с реальными устройствами. Для проверки на реальном устройстве переустановитеCarDialerApp.apk
.
Команды
Следующие команды adb работают только после первого запуска Dialer и требуют инициализации широковещательного приемника. После запуска Dialer должно быть подключено поддельное Bluetooth-устройство. Для этого используйте следующую команду (Настройка) «Подключить устройство».
(Настройка) Подключить устройство
Устанавливает фальшивое соединение Bluetooth с номеронабирателем, и его необходимо сначала вызвать, чтобы получить доступ ко всем командам, связанным с вызовом.
Чтобы подключить устройство:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Примечание. Каждую из следующих команд можно использовать только после подключения поддельного устройства Bluetooth.
Сделать исходящий вызов
Чтобы совершить исходящий вызов:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Принять входящий звонок
Чтобы принять входящий вызов:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Завершить вызов
Чтобы завершить вызов:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Удержание текущего вызова
Чтобы поставить текущий вызов на удержание:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Отменить текущий вызов
Чтобы снять текущий вызов с удержания:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Объединить вызовы
Объедините основной и дополнительный вызовы в конференц-вызов. Эта команда работает только тогда, когда существуют как первичный, так и вторичный вызовы. Существующая конференц-связь считается единым объектом.
Чтобы объединить вызовы:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Удалить все вызовы
Чтобы удалить все вызовы из списка вызовов:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Сборка эмулятора
Иногда разработчики могут захотеть протестировать изменения пользовательского интерфейса на эмуляторе. В таких случаях CarDialerAppEmulatorBuild
обеспечивает упрощенную настройку и ограниченную функциональность по сравнению с более мощным DTF.
Тестовые данные
При запуске Dialer страница с ошибкой Bluetooth обходится и отображается основное содержимое TelecomActivity
. Контакты и журналы вызовов отображаются на локальном устройстве. Разработчики могут использовать стандартное приложение «Контакты» для создания тестовых контактов или для импорта файла .vcf
.
Насмешка над вызовом
Чтобы имитировать входящие вызовы, используйте эмулятор Android для отправки команд Telnet. Дополнительные сведения см. в статьях Запуск приложений в эмуляторе Android и Отправка команд консоли эмулятора .
telnet localhost 5554 gsm call xxx-xxx-xxxx
Выполнение телефонного звонка в приложении "Набор номера" или передача намерения звонка запускает исходящий вызов.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx