Dialer 搭載整合式偵錯與測試架構, 不需要使用通話功能的裝置就能驗證「撥號」應用程式功能。因此 。此撥號測試架構 (DTF) 可以簡化這些程序:
- 設置實體裝置,快速驗證構想通常會花費時間。
- 如要測試多次通話功能,至少需要三張支援手機的 SIM 卡,且兩者 這只會用於撥打電話
- 對 Dialer 及其依附元件進行偵錯。
由於 Dialer 的功能需要使用多種技術堆疊,包括電信、電話、通訊 和藍牙手持免費設定檔 (HFP)、這些依附元件產生的錯誤和問題 導致撥號程式不穩定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
會取代裝置上的原始「撥號」應用程式 測試裝置。「
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 變更。此時
CarDialerAppEmulatorBuild
提供經過簡化的設定和功能有限
。
測試資料
啟動 Dialer 時,系統會略過藍牙錯誤網頁,且
目前顯示 TelecomActivity
。聯絡人和通話記錄會顯示於本機
裝置。開發人員可以使用股票聯絡人應用程式建立測試聯絡人或匯入
.vcf
檔案。
通話模擬
如要模擬來電,請使用 Android Emulator 傳送 Telnet 指令。詳情請參閱: 在 Android Emulator 上執行應用程式 和 傳送模擬器主控台指令。
telnet localhost 5554 gsm call xxx-xxx-xxxx
在「撥號」應用程式中撥打電話,或是廣播通話意圖時,系統就會開始外撥通話。
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx