Dialer оснащен интегрированной платформой отладки и тестирования, которая позволяет проверять функции приложения Dialer без необходимости использования устройств, готовых к вызову. Это устраняет необходимость в Bluetooth и подключенных телефонах с сотовой связью. Эта платформа тестирования номеронабирателей (DTF) упрощает эти процессы:
- Настройка реального устройства для быстрой проверки идей обычно требует времени.
- Для тестирования функций множественных вызовов требуется как минимум три телефона с SIM-картой, два из которых используются только для совершения вызовов.
- Отладка Dialer и его зависимостей.
Поскольку функциональность Dialer зависит от нескольких стеков технологий, включая телекоммуникации, телефонию и профиль Bluetooth Hands Free (HFP), ошибки и проблемы, возникающие в этих зависимостях, могут привести к нестабильности Dialer. DTF позволяет Dialer работать независимо от этих зависимостей.
Функции
DTF предоставляет следующие возможности:
- Размещение звонка. Совершайте и принимайте звонки без необходимости использования устройства, готового к вызову, через терминал с трансляцией Android Debug Bridge (adb) .
- Шуточные звонки. Функциональность звонков высмеивается. Это включает в себя удержание, приглушение, объединение и отключение.
Используйте DTF
Примечание. DTF доступен только в Android 11 или более поздней версии.
Чтобы использовать DTF:
- Соберите и установите вариант сборки
CarDialerAppForTesting
следующим образом:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
В результате
CarDialerAppForTesting
заменяет исходное приложение Dialer на тестовом устройстве.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
При совершении телефонного звонка в приложении Dialer или трансляции намерения вызова начинается исходящий вызов.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx