La funzionalità Telefono è dotata di un framework di debug e test integrato che ti consente di verificare le funzionalità dell'app Telefono senza dover utilizzare dispositivi pronti per le chiamate. In questo modo non è necessario il Bluetooth e gli smartphone connessi con servizio di telefonia mobile. Questo framework di test del tastierino (DTF) semplifica queste procedure:
- La configurazione di un dispositivo reale per convalidare rapidamente le idee in genere richiede tempo.
- Per testare le funzionalità di chiamata multipla sono necessari almeno tre telefoni con schede SIM, di cui due utilizzati solo per effettuare chiamate.
- Eseguire il debug di Dialer e delle sue dipendenze.
Poiché la funzionalità di Telefono dipende da diversi stack tecnologici, tra cui Telecom, Telefonia e Profilo HFP (Hands Free Profile) Bluetooth, i bug e i problemi che si verificano in queste dipendenze possono causare l'instabilità di Telefono. Il DTF consente a Dialer di funzionare indipendentemente da queste dipendenze.
Funzionalità
Il DTF fornisce le seguenti funzionalità:
- Posizionamento delle chiamate. Effettua e ricevi chiamate senza bisogno di un dispositivo pronto per le chiamate tramite il terminale con un broadcast di Android Debug Bridge (adb).
- Chiamate simulate. La funzionalità di chiamata è simulata. Sono inclusi la messa in attesa, l'attivazione della disattivazione audio, la combinazione e la disconnessione.
Utilizzare il DTF
Nota: il DTF è disponibile solo su Android 11 o versioni successive.
Per utilizzare il DTF:
- Compila e installa la variante di compilazione
CarDialerAppForTesting
nel seguente modo:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
Di conseguenza,
CarDialerAppForTesting
sostituisce l'app Telefono originale sul dispositivo di test.CarDialerAppForTesting
non funziona con dispositivi reali. Per eseguire il test con un dispositivo reale, reinstallaCarDialerApp.apk
.
Comandi
I seguenti comandi adb funzionano solo dopo l'avvio di Telefono per la prima volta e richiedono l'inizializzazione del ricevitore di trasmissione. Dopo aver avviato Telefono, deve essere collegato un dispositivo Bluetooth falso. A tale scopo, utilizza il seguente comando (Configurazione) Connetti un dispositivo.
(Configurazione) Collegare un dispositivo
Stabilisce una connessione Bluetooth falsa con Telefono e deve essere chiamato per primo per consentire l'accesso a tutti i comandi relativi alle chiamate.
Per connettere un dispositivo:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Nota: solo dopo aver connesso un dispositivo Bluetooth falso è possibile utilizzare ciascuno dei comandi riportati di seguito.
Effettuare una chiamata in uscita
Per effettuare una chiamata in uscita:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Ricevere una chiamata in arrivo
Per ricevere una chiamata in arrivo:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Terminare una chiamata
Per terminare una chiamata:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Mettere in attesa la chiamata in corso
Per mettere in attesa la chiamata in corso:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Riattiva la chiamata in corso
Per riattivare la chiamata in attesa:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Unisci
Unisci le chiamate principali e secondarie in un'audioconferenza. Questo comando funziona solo se esistono sia le chiamate principali che quelle secondarie. Un'audioconferenza esistente è considerata una singola entità.
Per unire le chiamate:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Cancella tutte le chiamate
Per rimuovere tutte le chiamate dall'elenco:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Build dell'emulatore
A volte gli sviluppatori potrebbero voler testare le modifiche all'interfaccia utente su un emulatore. In questi casi,
CarDialerAppEmulatorBuild
offre una configurazione semplificata e funzionalità limitate
rispetto al DTF più potente.
Dati di test
Quando viene avviato il Dialer, la pagina di errore Bluetooth viene ignorata e vengono visualizzati i contenuti principali diTelecomActivity
. I contatti e i log delle chiamate vengono visualizzati sul
dispositivo locale. Gli sviluppatori possono utilizzare l'app Contatti predefinita per creare contatti di prova o importare un file.vcf
.
Simulazione di chiamate
Per simulare le chiamate in entrata, utilizza Android Emulator per inviare comandi Telnet. Per scoprire di più, consulta Eseguire app nell'emulatore Android e Inviare comandi della console dell'emulatore.
telnet localhost 5554 gsm call xxx-xxx-xxxx
L'invio di una chiamata nell'app Telefono o la trasmissione di un'intenzione di chiamata avvia una chiamata in uscita.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx