Dialer 配備了整合的調試和測試框架,可讓您驗證 Dialer 應用程式功能,而無需呼叫就緒設備。這消除了對藍牙和具有蜂窩服務的連接電話的需求。此撥號器測試框架 (DTF) 簡化了這些流程:
- 設定真實設備來快速驗證想法通常會消耗時間。
- 測試多通話功能需要至少三部配備 SIM 卡的手機,其中兩部僅用於撥打電話。
- 調試撥號器及其相依性。
由於 Dialer 的功能依賴多種技術堆疊,包括電信、電話和藍牙免持配置檔案 (HFP),因此這些依賴項中出現的錯誤和問題可能會導致 Dialer 不穩定。 DTF 使 Dialer 能夠獨立於這些依賴項運作。
特徵
DTF 提供以下功能:
- 呼叫安置。透過具有Android 調試橋 (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 後,必須連接假藍牙裝置。使用以下(設定)連接設備命令來執行此操作。
(設定)連接設備
建立與撥號器的虛假藍牙連接,並且必須先呼叫才能存取所有與呼叫相關的命令。
連接設備:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
注意:連接了假藍牙裝置後,才能使用下列各指令。
撥打電話
撥打電話:
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"
模擬器構建
有時開發人員可能想要在模擬器上測試 UI 變更。在這種情況下,與更強大的 DTF 相比, CarDialerAppEmulatorBuild
提供了簡化的設定和有限的功能。
測試數據
當 Dialer 啟動時,會繞過藍牙錯誤頁面並顯示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