偵錯及測試

Dialer 搭載整合式偵錯與測試架構, 不需要使用通話功能的裝置就能驗證「撥號」應用程式功能。因此 。此撥號測試架構 (DTF) 可以簡化這些程序:

  • 設置實體裝置,快速驗證構想通常會花費時間。
  • 如要測試多次通話功能,至少需要三張支援手機的 SIM 卡,且兩者 這只會用於撥打電話
  • 對 Dialer 及其依附元件進行偵錯。

由於 Dialer 的功能需要使用多種技術堆疊,包括電信、電話、通訊 和藍牙手持免費設定檔 (HFP)、這些依附元件產生的錯誤和問題 導致撥號程式不穩定DTF 讓 Dialer 能不受這些依附元件獨立運作。

功能

DTF 提供以下功能:

  • 通話刊登位置。不需安裝 打通電話, Android Debug Bridge (ADB) 廣播。
  • 模擬通話通話功能已模擬。這包括保留、靜音 合併及中斷連線

使用 DTF

注意: DTF 僅適用於 Android 11 以上版本。

如何使用 DTF:

  1. 建構並安裝 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