Teléfono incluye un marco de trabajo de depuración y prueba integrado que te permite realizar las siguientes tareas: valida las funciones de la app de Teléfono sin la necesidad de contar con dispositivos listos para realizar llamadas. Esto elimina la necesidad para Bluetooth y los teléfonos conectados con servicio de datos móviles. Este framework de prueba de Teléfono (DTF) simplifica estos procesos:
- Configurar un dispositivo real para validar ideas rápidamente suele consumir tiempo.
- Para probar las funciones para llamadas múltiples, se requieren al menos tres teléfonos con tarjeta SIM, dos de que se usan solo para realizar llamadas.
- Cómo depurar Teléfono y sus dependencias
Dado que la funcionalidad de Teléfono depende de varios componentes tecnológicos, como telecomunicaciones, telefonía, y el perfil de manos libres (HFP) de Bluetooth, los errores y problemas que surjan en esas dependencias pueden es posible que el Teléfono funcione mal. El DTF permite que Teléfono se ejecute independientemente de estas dependencias.
Funciones
El DTF proporciona las siguientes funciones:
- Ubicación de la llamada. Realiza y recibe llamadas sin necesidad de listo para realizar llamadas a través de la terminal con una Android Debug Bridge (adb) transmisión.
- Llamadas de prueba La funcionalidad de llamadas es simulada. Esto incluye mantener presionados, silenciar combinar y desconectarse.
Usa el DTF
Nota: El DTF solo está disponible en Android 11 o versiones posteriores.
Para usar el DTF, haz lo siguiente:
- Compila e instala la variante de compilación
CarDialerAppForTesting
de la siguiente manera:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
Como resultado,
CarDialerAppForTesting
reemplaza la app de Teléfono original en la dispositivo de prueba.CarDialerAppForTesting
no funciona con dispositivos reales. Para hacer la prueba con un dispositivo real, reinstalaCarDialerApp.apk
.
Comandos
Los siguientes comandos adb funcionan solo después de que se inicia Teléfono por primera vez y requieren el receptor de emisión que se inicializará. Después de iniciar el Teléfono, un dispositivo Bluetooth falso debe estar conectados. Para ello, usa el siguiente comando Conectar un dispositivo (Configuración).
(Configuración) Conecta un dispositivo
Establece una conexión Bluetooth falsa con el Teléfono y se debe llamar primero para habilitar el acceso. a todos los comandos relacionados con las llamadas.
Para conectar un dispositivo, haz lo siguiente:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Nota: Solo después de que se conecte un dispositivo Bluetooth falso, usar los siguientes comandos.
Hacer una llamada saliente
Para realizar una llamada saliente:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Cómo recibir una llamada entrante
Para recibir una llamada entrante, sigue estos pasos:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Cómo finalizar una llamada
Para finalizar una llamada, sigue estos pasos:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Retener la llamada actual
Para poner la llamada actual en espera, haz lo siguiente:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Dejar de esperar la llamada actual
Para quitar la llamada actual en espera, haz lo siguiente:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Combinar llamadas
Combina las llamadas principales y secundarias en una conferencia telefónica. Este comando funciona solo cuando existen las llamadas primarias y secundarias. Una conferencia telefónica existente se considera un solo .
Para combinar llamadas, haz lo siguiente:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Borrar todas las llamadas
Para quitar todas las llamadas de la lista, sigue estos pasos:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Compilación del emulador
A veces, es posible que los desarrolladores quieran probar los cambios de la IU en un emulador. En esos casos,
CarDialerAppEmulatorBuild
ofrece una configuración simplificada y una funcionalidad limitada.
en comparación con el DTF más potente.
Datos de pruebas
Cuando se inicia el Teléfono, se omite la página de error de Bluetooth y se muestra el contenido principal de
Se muestra TelecomActivity
. Los contactos y los registros de llamadas se muestran
dispositivo. Los desarrolladores pueden usar la app de Contactos de stock para crear contactos de prueba o importar un
.vcf
.
Simulación de llamadas
Si quieres simular llamadas entrantes, usa Android Emulator para enviar comandos de Telnet. Para obtener más información, consulta Cómo ejecutar apps en Android Emulator y Envía comandos de la consola del emulador.
telnet localhost 5554 gsm call xxx-xxx-xxxx
Cuando realizas una llamada telefónica en la app de Teléfono o transmites un intent de llamada, se inicia una llamada saliente.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx