下圖說明與撥號應用程式互動的系統元件:
圖 1. 與撥號程式互動的元件
-
系統 UI。底部導覽列面向,用於代管註冊
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
意圖的「電話」按鈕。這會啟動使用者的主活動TelecomActivity
。 -
應用程式啟動器。管理整個應用程式清單。撥號程式會使用
android.intent.category.LAUNCHER
宣告 TelecomActivity。從啟動器的應用程式清單中選取電話應用程式,就會顯示 TelecomActivity。 -
主畫面小工具:在 AOSP 參考資料中,沒有 Home 小工具。原始設備製造商 (OEM) 可能會考慮為撥號程式新增主畫面小工具,以便顯示目前已連結手機的狀態 (以及其他資訊)。
-
通知中心
-
來電時會顯示抬頭通知 (HUN)。當撥號程式
InCallServiceImpl
收到來電時,撥號程式會將 HUN 發布至通知中心,顯示電話號碼或聯絡資訊等通話詳細資料。撥號程式也會顯示「接聽」和「拒接」這兩個動作按鈕。輕觸「Answer」按鈕即可接聽來電,InCallServiceImpl
會處理進行中的通話,在通話 UI 中顯示撥號器,並關閉 HUN。點選 HUN 後,系統會以全螢幕顯示「InCall」頁面,並顯示「Answer」和「Reject」按鈕。 -
未讀的未接來電會顯示通知。點選通知會顯示「通話記錄」頁面,並將未接來電標示為已讀。輕觸「回電」按鈕即可撥打電話,並顯示撥號器的 InCall 使用者介面。
-
-
Google 助理。使用者可以要求 Google 助理撥打電話,這時可能會顯示「撥號」應用程式 InCall 使用者介面。
-
Google 地圖。透過 Google 地圖撥打給商家時,系統會傳送 DIAL 意圖,並附加電話號碼,以便啟動 Dialpad 頁面,快速撥打電話。
-
CarInputService. 監控方向盤上「通話」和「結束通話」按鈕的實體按鍵。按下:
-
在沒有來電時,方向盤上的通話按鈕會傳送 DIAL 意圖,並顯示撥號器的撥號鍵盤頁面。
-
當有來電時,方向盤上的通話按鈕會導致 TelecomManager 接聽來電。
-
當有來電時,使用者透過方向盤上的「結束通話」按鈕,TelecomManager 就會結束通話。
-
-
藍牙
-
PBAPClient. 從手機下載聯絡人,並寫入聯絡人供應器。系統會為每部連線的手機建立帳戶,並將裝置的藍牙 MAC 位址設為帳戶名稱,將
com.android.bluetooth.pbapsink
(@string/pbap_account_type
在packages/apps/Bluetooth
中定義) 設為帳戶類型。寫入聯絡人提供者的聯絡人會附上帳戶資訊,並在手機連線中斷時清除。PBAPClient
不會直接與撥號器互動,而是將聯絡資訊寫入聯絡資訊提供者。撥號程式會讀取聯絡人供應程式中的聯絡人資料。 -
HfpClientConnectionService
:透過 HFP 管理藍牙通話,並將通話回報給電信服務。
-
-
電信。Android 電信架構會管理 Android 裝置上的音訊和視訊通話。由於撥號應用程式是預設的電話應用程式,因此會實作
InCallService
API,而InCallController
會將撥號應用程式的 InCallService 實作項目繫結至處理通話。詳情請參閱「建立替代電話應用程式」和「成為預設電話應用程式」。 -
系統設定。撥號程式會監控 HFP 已連線裝置清單,並在沒有手機透過藍牙連線至撥號程式時顯示錯誤訊息。在 AOSP 參考資料中,連線至藍牙按鈕會將使用者連結至系統的藍牙設定頁面,以便配對新裝置或連線至已配對的裝置。
-
駕駛人分心等級引擎這項 Android 系統服務會根據車輛的行駛狀態,限制使用者體驗。撥號應用程式必須執行所有 UX 駕駛分心限制。為此,撥號應用程式必須監聽 CarUXRestrictionManager 並實作所有政策。Dialer 必須符合以下規定:
-
連線至 Car 程式庫,並取得 CarUXRestrictionManager 的例項。
-
訂閱 CarUxRestrictions 清單中的更新項目,並按照說明文件實作。
-
以下是撥號應用程式特別需要注意的事項:
-
「設定」頁面已針對車輛進行最佳化。使用者在開車時無法存取撥號程式設定頁面。輕觸操作列中的「設定」選單時,系統會顯示封鎖畫面,防止使用者在行車時存取「設定」。如果已顯示「設定」頁面,系統會彈出封鎖畫面,停止使用者互動。
-
開車時無法存取系統設定。在「錯誤」頁面中,如果沒有連線的藍牙裝置,系統會顯示「連線至藍牙」按鈕,以便顯示系統藍牙設定頁面。這個按鈕的 UXR 已全面禁止放送。在行駛期間,點選這個按鈕會顯示錯誤訊息,通知使用者先將車輛停妥,再執行該動作。
-
使用者無法在開車時啟動新增至收藏夾流程。「新增收藏」按鈕已停用。
-
-
使用者流程
Dialer Main
以下提供撥號應用程式的不同頁面。
圖 2. 主要撥號頁面
通話處理
以下是呼叫處理程序流程:
圖 3. 通話處理
通知
以下列出各種通知頁面:
圖 4. 通知
通話狀態
以下是「InCall」頁面流程:
圖 5. 通話頁面
搜尋
搜尋顯示選項如下:
圖 6. 搜尋
設定
設定選項如下:
圖 7. 設定