Die Telefon App ist mit einem integrierten Debugging- und Test-Framework ausgestattet, mit dem Sie Funktionen der Telefon App prüfen, ohne dass anruffähige Geräte erforderlich sind. Dadurch entfällt die Notwendigkeit für Bluetooth und verbundene Smartphones mit Mobilfunkdienst. Dieses Dialer Testing Framework (DTF) vereinfacht diese Prozesse:
- Das Einrichten eines echten Geräts zur schnellen Validierung von Ideen nimmt in der Regel viel Zeit in Anspruch.
- Zum Testen der Funktionen für mehrere Anrufe benötigen Sie mindestens drei Smartphones mit SIM-Karte, zwei die nur für Anrufe verwendet werden.
- Fehler in Dialer und seinen Abhängigkeiten beheben
Da die Funktionalität von Dialer von mehreren Technologie-Stacks abhängt, wie Telekommunikation, Telefonie, und Bluetooth Hands Free Profile (HFP), können Fehler und Probleme, führen zu unzuverlässigen Anrufen. Das DTF ermöglicht die Ausführung von Dialer unabhängig von diesen Abhängigkeiten.
Funktionen
Das DTF bietet folgende Funktionen:
- Anruf-Placement: Anrufe tätigen und empfangen – ganz ohne anruffähiges Gerät über das Terminal mit einer Android Debug Bridge (ADB) Nachricht an alle.
- Anrufe simulieren Die Anruffunktion ist Simulation. Dazu gehören das Halten, Stummschalten und Zusammenführen und Trennen.
DTF verwenden
Hinweis : Die DTF-Datei ist nur ab Android 11 verfügbar.
So verwenden Sie die DTF-Datei:
- Erstellen und installieren Sie die Build-Variante
CarDialerAppForTesting
so:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
Infolgedessen ersetzt
CarDialerAppForTesting
die ursprüngliche Telefon App auf der Testgerät.CarDialerAppForTesting
funktioniert nicht mit echten Geräten. Für einen Test mit einem echten Gerät InstalliereCarDialerApp.apk
neu.
Befehle
Die folgenden ADB-Befehle funktionieren erst nach dem ersten Start der Telefon App und erfordern Übertragungsempfänger initialisiert werden soll. Nach dem Starten der Telefon App muss ein gefälschtes Bluetooth-Gerät verwendet werden, verbunden sein. Verwenden Sie dazu den Befehl „Geräteverbindung herstellen“ (Einrichtung) .
Gerät verbinden
Stellt eine gefälschte Bluetooth-Verbindung zur Telefon App her und muss zuerst angerufen werden, um den Zugriff zu aktivieren auf alle anrufbezogenen Befehle.
So verbindest du ein Gerät:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Hinweis : Erst nachdem ein gefälschtes Bluetooth-Gerät verbunden wurde, kann jede werden die folgenden Befehle verwendet.
Ausgehenden Anruf tätigen
So tätigen Sie einen Anruf:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Eingehende Anrufe annehmen
So nehmen Sie einen eingehenden Anruf an:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Anruf beenden
So beenden Sie einen Anruf:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Aktuellen Anruf halten
So halten Sie den aktuellen Anruf:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Halte den aktuellen Anruf zurück
So beenden Sie den aktuellen Anruf:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Anrufe zusammenführen
Primären und sekundären Anruf zu einer Telefonkonferenz zusammenführen Dieser Befehl funktioniert nur, der primäre und der sekundäre Aufruf vorhanden sind. Eine bestehende Telefonkonferenz wird als Entität.
So führen Sie Anrufe zusammen:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Alle Anrufe löschen
So entfernen Sie alle Anrufe aus der Anrufliste:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Emulator-Build
Manchmal möchten Entwickler Änderungen der Benutzeroberfläche in einem Emulator testen. In solchen Fällen
CarDialerAppEmulatorBuild
vereinfacht die Einrichtung und bietet eingeschränkte Funktionalität
im Vergleich zum leistungsstärkeren "DTF".
Testdaten
Beim Starten der Telefon App wird die Bluetooth-Fehlerseite umgangen und der Hauptinhalt der
TelecomActivity
wird angezeigt. Kontakte und Anruflisten werden auf der lokalen
. Entwickler können mit der Stock-Kontakte-App Testkontakte erstellen oder eine
.vcf
-Datei.
Anruf-Mocking
Verwenden Sie zum Simulieren eingehender Anrufe den Android-Emulator, um Telnet-Befehle zu senden. Weitere Informationen finden Sie unter Apps im Android-Emulator ausführen und Befehle an die Emulator-Konsole senden.
telnet localhost 5554 gsm call xxx-xxx-xxxx
Wenn du einen Anruf über die Telefon App tätigst oder einen Anruf-Intent überträgst, wird ein ausgehender Anruf gestartet.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx