החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
פרטים טכניים
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בתרשים הבא מוצגים רכיבי המערכת שמקיימים אינטראקציה עם Dialer:

איור 1. רכיבים שמקיימים אינטראקציה עם Dialer
-
ממשק המשתמש של המערכת פן הניווט התחתון לאירוח לחצן הטלפון, שמירשם את הכוונה intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
.
הפעולה הזו מפעילה את הפעילות הראשית של המשתמש, TelecomActivity
.
-
מרכז האפליקציות ניהול רשימת האפליקציות כולה. Dialer מצהיר על TelecomActivity באמצעות android.intent.category.LAUNCHER
. אם בוחרים באפליקציית הטלפון מרשימת האפליקציות במרכז האפליקציות, מוצגת TelecomActivity.
-
ווידג'ט הבית במסמך העזרה של AOSP אין ווידג'ט של Home. יצרני ציוד מקורי יכולים לשקול להוסיף ווידג'ט של דף הבית ל-Dialer כדי להציג את המצב של הטלפון המחובר הנוכחי (וגם מידע נוסף).
-
מרכז ההתראות
-
התראה מראש (HUN) מוצגת על שיחות נכנסות. כשמתקבלת שיחה נכנסת ב-InCallServiceImpl
, מתקבלת התראה ב-HUN במרכז ההתראות, שבה מוצגים פרטי השיחה, כמו מספר הטלפון או פרטי איש הקשר. ב-Dialer מוצגים גם שני כפתורי פעולה: 'מענה' ו'דחייה'. מקישים על לחצן המענה כדי לענות לשיחה, ו-InCallServiceImpl
מטפל בשיחה הפעילה כדי להציג את ממשק המשתמש של השיחה ב-Dialer ולסגור את HUN. לחיצה על HUN מציגה את הדף 'בשיחה' במסך מלא עם הלחצנים 'תשובה' ו'דחייה'.
-
התראה מופיעה על שיחות שלא נענו ולא נקראו. לחיצה על ההתראה תציג את דף היסטוריית השיחות ותסמן את השיחות שלא נענו כקריאות שנקראו. מקישים על הלחצן 'החזרה לשיחה' כדי להתקשר ולהציג את ממשק המשתמש של Dialer בשיחה.
-
Assistant. משתמשים יכולים לבקש מהעוזרת לבצע שיחה, ויכול להיות שיוצג להם ממשק המשתמש של החייגן במהלך השיחה.
-
מפות Google. כשמתקשרים למוכר ממפות Google, נשלחת הכוונה DIAL עם מספרי טלפון נוספים. הפעולה הזו תפעיל את דף Dialpad לחיוג מהיר.
-
CarInputService. מעקב אחרי המקש הפיזי של לחצני השיחה והסיום של השיחה על ההגה. לחיצה על:
-
לחיצה על לחצן השיחה מההגה כשאין שיחה נכנסת שולחת את הכוונה DIAL ומציגה את דף לוח החיוג של החייגן.
-
לחיצה על לחצן השיחה מההגה כשיש שיחה נכנסת גורמת ל-TelecomManager לענות לשיחה.
-
לחצן סיום השיחה מההגה כשיש שיחה נכנסת, TelecomManager מסיים את השיחה.
-
Bluetooth
-
PBAPClient הורדת אנשי קשר מהטלפון וכתיבה לספק אנשי הקשר. לכל טלפון שמחובר נוצר חשבון עם כתובת ה-MAC של Bluetooth של המכשיר בתור שם החשבון ו-com.android.bluetooth.pbapsink
(@string/pbap_account_type
מוגדר ב-packages/apps/Bluetooth
) בתור סוג החשבון. אנשי הקשר שנכתבים לספק אנשי הקשר נכתבים עם פרטי החשבון ונמחקים כשהטלפון מתנתק. PBAPClient
לא מתקשר ישירות עם Dialer, אלא כותב את אנשי הקשר לספק אנשי הקשר. באפליקציית החיוג מתבצעת קריאה של אנשי הקשר מספק אנשי הקשר.
-
HfpClientConnectionService
. ניהול השיחה ב-Bluetooth באמצעות HFP ודיווח על השיחה לשירותי התקשורת.
-
Telecom מסגרת Android Telecom מנהלת שיחות אודיו ווידאו במכשיר Android. מכיוון ש-Dialer היא אפליקציית ברירת המחדל לטלפון, היא מטמיעה את ממשקי ה-API של InCallService
, ו-InCallController
יקשור את הטמעת InCallService של Dialer כדי לטפל בשיחות. פרטים נוספים זמינים במאמרים יצירת אפליקציית טלפון חלופית והפיכת אפליקציית הטלפון לברירת המחדל.
-
הגדרות המערכת. האפליקציה 'חיוג' עוקבת אחרי רשימת המכשירים שמחוברים באמצעות HFP, ומציגה הודעת שגיאה כשאין טלפונים שמחוברים לאפליקציה 'חיוג' באמצעות Bluetooth. במסמך העזר של AOSP, הלחצן 'התחברות ל-Bluetooth' מקשר את המשתמשים לדף ההגדרות של ה-Bluetooth במערכת כדי להתאים מכשיר חדש או להתחבר למכשיר מותאם.
-
מנוע לזיהוי הסחות דעת של נהגים שירות המערכת הזה של Android מטיל הגבלות על חוויית המשתמש על סמך מצב הנהיגה ברכב. החייגן חייב לבצע את כל ההגבלות על הסחות דעת בממשק המשתמש בזמן נהיגה.לשם כך, החייגן חייב להקשיב ל-CarUXRestrictionManager ולהטמיע את כל כללי המדיניות. אפליקציית Dialer חייבת:
מסלולי המשתמש באפליקציה
Dialer Main
הדפים השונים של Dialer מפורטים בהמשך.

איור 2. הדף הראשי של Dialer
טיפול בשיחות
תהליך העברת השיחה מוצג בהמשך:

איור 3. טיפול בשיחות
התראות
דפי ההתראות השונים מוצגים בהמשך:

איור 4. התראות
סטטוס שיחה
תהליך הדף בשיחת הצ'אט מוצג בהמשך:

איור 5. הדף 'בשיחה'
חיפוש
התצוגות של החיפוש הן:

איור 6. חיפוש
הגדרות
אפשרויות ההגדרה הן:

איור 7. הגדרות
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Technical details\n\nThe following diagram illustrates the system components that interact with Dialer:\n\n**Figure 1.** Components that interact with Dialer\n\n- **System UI.** Lower navigation facet to host the Phone button, which\n registers the `intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end` intent.\n This starts the user's main activity, `TelecomActivity`.\n\n- **App Launcher.** Manages the entire app list. Dialer declares\n TelecomActivity with `android.intent.category.LAUNCHER`. Selecting the phone app from\n the launcher's app list displays TelecomActivity.\n\n- **Home widget.** In AOSP reference, there is no Home widget. OEMs might want to\n consider adding a Home widget for Dialer to display the state of the current connected phone (as\n well as other information).\n\n- **Notification Center**\n\n - **Heads Up Notification (HUN) is displayed for incoming calls.** When the Dialer\n `InCallServiceImpl` receives an incoming call, Dialer posts a HUN to the\n Notification center, which shows the call details, such as phone number or contact info.\n Dialer also displays two action buttons, Answer and Decline. By tapping Answer button,\n the call is answered and `InCallServiceImpl` handles the active call to show\n Dialer's in call UI and dismisses the HUN. Clicking on the HUN displays the fullscreen\n InCall page with the Answer and Reject buttons.\n\n - **Notification appears for unread missed calls.** Clicking on the\n notification displays the Call History page and marks missed calls as read. Tapping the\n Call Back button places a call and displays the Dialer's InCall user interface.\n\n- **Assistant.** Users can ask an assistant to make a call that may display the\n Dialer InCall user interface.\n\n- **Google Maps.**Calling a merchant from Google Maps sends the DIAL\n intent with extras of phone numbers which will start Dialpad page for quick dialing.\n\n- **CarInputService.**Monitors the physical key of the Call and End Call\n buttons on the steering wheel. Pressing the:\n\n - Call button from the steering wheel when there is no incoming call sends the DIAL\n intent and displays the Dialpad page of Dialer.\n\n - Call button from the steering wheel when there is an incoming call causes the\n TelecomManager to answer the call.\n\n - End Call button from the steering wheel when there is an incoming call, the\n TelecomManager ends the call.\n\n- **Bluetooth**\n\n - **PBAPClient.** Downloads contacts from a phone and writes to the\n contacts provider. For each phone connected, an account is created with the device's\n Bluetooth MAC address as the account name and `com.android.bluetooth.pbapsink`\n (`@string/pbap_account_type` defined in `packages/apps/Bluetooth`) as\n the account type. Contacts written to the contacts provider are written with the account\n information and are cleared when the phone is disconnected. `PBAPClient` doesn't\n interact directly with Dialer but instead writes contacts to the Contacts Provider. Dialer\n reads the contacts from the Contacts Provider.\n\n - **`HfpClientConnectionService`.** Manages the Bluetooth call\n through HFP and reports the call to the Telecom services.\n\n- **Telecom.** The Android Telecom framework manages audio and video calls on an\n Android device. Since Dialer is the default phone app, it implements the\n [InCallService](https://developer.android.com/reference/android/telecom/InCallService.html)\n APIs and `InCallController` will bind the Dialer's InCallService implementation to\n handle calls. For more details, see\n [Create\n a replacement phone app](https://developer.android.com/guide/topics/connectivity/telecom#replacePhoneApp) and\n [Becoming\n the Default Phone App](https://developer.android.com/reference/android/telecom/InCallService.html#becoming-the-default-phone-app).\n\n- **System Settings.** Dialer monitors the HFP-connected device list and displays\n an error message when no phones are connected to dialer through Bluetooth. In the AOSP\n reference, the Connect to Bluetooth button links users to the system Bluetooth Settings\n page to pair a new device or to connect to a paired device.\n\n- **Driver Distraction Engine.** This Android system service imposes UX\n restrictions based on the driving state of the car. Dialer must execute all UX driving\n distraction restrictions.To do so, Dialer must listen to the\n [CarUXRestrictionManager](https://developer.android.com/reference/android/car/drivingstate/CarUxRestrictionsManager)\n and implement all policies. Dialer must:\n\n - Connect to the [Car](https://developer.android.com/reference/android/car/Car)\n library and obtain an instance of\n [CarUXRestrictionManager](https://developer.android.com/reference/android/car/drivingstate/CarUxRestrictionsManager).\n\n - Subscribe to updates in the list of\n [CarUxRestrictions](https://developer.android.com/reference/android/car/drivingstate/CarUxRestrictions)\n and implement them as documented.\n\n - Of particular importance to Dialer:\n\n - **Settings page is vehicle-optimized.** User could not access the\n Dialer Settings page when driving. By tapping on the Settings menu from the action bar,\n a blocking screen is displayed to prevent the user from accessing Settings while\n driving. If the Settings page is already displayed, the blocking screen will pop up to\n stop the user interaction.\n\n - **System settings cannot be accessed while driving.** On the Error page,\n when no Bluetooth devices are connected, a Connect to Bluetooth button displays the\n system Bluetooth settings page. The UXR of this button is fully restricted.\n While driving, clicking on this button displays an error message to inform the\n user to park the car first and then perform the action.\n\n - **User cannot start the add-to-favorite flow while driving.** The Add a\n Favorite button is disabled.\n\nUser flows\n----------\n\n### Dialer Main\n\nThe different pages for Dialer are provided below.\n\n**Figure 2.** Main Dialer page\n\n### Call handling\n\nThe call handing process flow is presented below:\n\n**Figure 3.** Call handling\n\n### Notifications\n\nThe different notifications pages are displayed below:\n\n**Figure 4.** Notifications\n\n### InCall status\n\nThe InCall page flow is shown below:\n\n**Figure 5.** InCall page\n\n### Search\n\nThe Search displays are:\n\n**Figure 6.** Search\n\n### Settings\n\nThe Settings options are:\n\n**Figure 7.** Settings"]]