Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Technische Details
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Das folgende Diagramm zeigt die Systemkomponenten, die mit dem Dialer interagieren:

Abbildung 1: Komponenten, die mit der Telefon App interagieren
-
System-UI Untere Navigationsfacette für die Schaltfläche „Telefon“, über die die intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
-Intent registriert wird.
Dadurch wird die Hauptaktivität des Nutzers, TelecomActivity
, gestartet.
-
App Launcher Verwaltet die gesamte App-Liste. Der Dialer deklariert TelecomActivity mit android.intent.category.LAUNCHER
. Wenn Sie die Telefon-App aus der App-Liste des Launchers auswählen, wird „TelecomActivity“ angezeigt.
-
Start-Widget In der AOSP-Referenz gibt es kein Startbildschirm-Widget. OEMs können ein Home-Widget für den Telefonbereich hinzufügen, um den Status des aktuell verbundenen Smartphones sowie andere Informationen anzuzeigen.
-
Benachrichtigungscenter
-
Bei eingehenden Anrufen wird eine „Heads-Up-Benachrichtigung“ (HUN) angezeigt. Wenn der Dialer InCallServiceImpl
einen eingehenden Anruf erhält, sendet er eine HUN an das Benachrichtigungscenter, in der die Anrufdetails wie Telefonnummer oder Kontaktdaten angezeigt werden. Der Dialer zeigt außerdem zwei Aktionsschaltflächen an: „Annehmen“ und „Abweisen“. Wenn Sie auf die Schaltfläche „Annehmen“ tippen, wird der Anruf angenommen und InCallServiceImpl
verarbeitet den aktiven Anruf, um die Anrufoberfläche des Dialers anzuzeigen und die HUN zu schließen. Wenn Sie auf das HUN klicken, wird die Vollbildseite „Anruf“ mit den Schaltflächen „Annehmen“ und „Abweisen“ angezeigt.
-
Es wird eine Benachrichtigung für ungelesene verpasste Anrufe angezeigt. Wenn Sie auf die Benachrichtigung klicken, wird die Seite „Anrufliste“ geöffnet und verpasste Anrufe werden als gelesen markiert. Wenn Sie auf die Schaltfläche „Rückruf“ tippen, wird ein Anruf gestartet und die Benutzeroberfläche des Anrufs im Dialer angezeigt.
-
Assistant Nutzer können einen Assistenten bitten, einen Anruf zu starten. Dabei wird möglicherweise die Benutzeroberfläche der Telefon App angezeigt.
-
Google Maps Wenn Sie einen Händler über Google Maps anrufen, wird die DIAL-Intent mit zusätzlichen Telefonnummern gesendet. Daraufhin wird die Dialpad-Seite für das schnelle Wählen geöffnet.
-
CarInputService. Überwacht die physische Taste der Anruf- und Beendigungsschaltflächen am Lenkrad. Drücken Sie auf:
-
Wenn Sie die Anrufschaltfläche am Lenkrad drücken, ohne dass ein Anruf eingeht, wird die DIAL-Intent gesendet und die Wähltastatur des Telefons wird angezeigt.
-
Wenn Sie bei einem eingehenden Anruf die Anrufschaltfläche am Lenkrad drücken, nimmt der TelecomManager den Anruf an.
-
Wenn Sie die Taste „Auflegen“ am Lenkrad drücken, während ein Anruf eingeht, beendet der TelecomManager den Anruf.
-
Bluetooth
-
PBAPClient. Lädt Kontakte von einem Smartphone herunter und schreibt sie an den Kontaktanbieter. Für jedes verbundene Smartphone wird ein Konto mit der Bluetooth-MAC-Adresse des Geräts als Kontoname und com.android.bluetooth.pbapsink
(@string/pbap_account_type
in packages/apps/Bluetooth
definiert) als Kontotyp erstellt. Kontakte, die an den Kontaktanbieter geschrieben werden, werden mit den Kontoinformationen geschrieben und gelöscht, wenn die Verbindung zum Smartphone getrennt wird. PBAPClient
interagiert nicht direkt mit dem Telefon, sondern schreibt Kontakte an den Kontaktanbieter. Der Dialer liest die Kontakte vom Anbieter von Kontaktdaten.
-
HfpClientConnectionService
: Verwaltet den Bluetooth-Anruf über HFP und meldet den Anruf an die Telekommunikationsdienste.
-
Telekom. Das Android Telecom-Framework verwaltet Audio- und Videoanrufe auf einem Android-Gerät. Da die Telefon App die Standard-Telefon-App ist, implementiert sie die InCallService
APIs. InCallController
bindet die InCallService-Implementierung der Telefon App, um Anrufe zu verarbeiten. Weitere Informationen finden Sie unter Ersetzende Telefon-App erstellen und Als Standard-Telefon-App festgelegt werden.
-
Systemeinstellungen Der Dialer überwacht die Liste der über HFP verbundenen Geräte und zeigt eine Fehlermeldung an, wenn keine Smartphones über Bluetooth mit dem Dialer verbunden sind. In der AOSP-Referenz werden Nutzer über die Schaltfläche „Mit Bluetooth verbinden“ zur Seite „Bluetooth-Einstellungen“ des Systems weitergeleitet, um ein neues Gerät zu koppeln oder eine Verbindung zu einem gekoppelten Gerät herzustellen.
-
Driver Distraction Engine Dieser Android-Systemdienst schränkt die UX basierend auf dem Fahrstatus des Autos ein. Der Dialer muss alle UX-Einschränkungen für Ablenkungen beim Autofahren ausführen.Dazu muss der Dialer den CarUXRestrictionManager hören und alle Richtlinien implementieren. Für Dialer gilt Folgendes:
-
Stellen Sie eine Verbindung zur Car-Bibliothek her und rufen Sie eine Instanz von CarUXRestrictionManager ab.
-
Abonnieren Sie Updates in der Liste der CarUxRestrictions und implementieren Sie sie wie dokumentiert.
-
Für Dialer ist Folgendes besonders wichtig:
-
Die Seite „Einstellungen“ ist für das Fahrzeug optimiert. Der Nutzer konnte während der Fahrt nicht auf die Seite „Einstellungen für den Anrufer“ zugreifen. Wenn Sie in der Aktionsleiste auf das Menü „Einstellungen“ tippen, wird ein Sperrbildschirm angezeigt, der verhindert, dass der Nutzer während der Fahrt auf die Einstellungen zugreifen kann. Wenn die Seite „Einstellungen“ bereits angezeigt wird, wird der Blockierungsbildschirm eingeblendet, um die Nutzerinteraktion zu beenden.
-
Während der Fahrt kann nicht auf die Systemeinstellungen zugegriffen werden. Wenn auf der Fehlerseite keine Bluetooth-Geräte verbunden sind, wird über die Schaltfläche „Mit Bluetooth verbinden“ die Seite mit den Bluetooth-Einstellungen des Systems angezeigt. Die UXR dieser Schaltfläche ist vollständig eingeschränkt.
Wenn Sie während der Fahrt auf diese Schaltfläche klicken, wird eine Fehlermeldung angezeigt, in der der Nutzer darauf hingewiesen wird, zuerst das Auto zu parken und dann die Aktion auszuführen.
-
Nutzer können während der Fahrt nicht zu den Favoriten hinzufügen. Die Schaltfläche „Favoriten hinzufügen“ ist deaktiviert.
User-Flows
Dialer Main
Unten finden Sie die verschiedenen Seiten für den Dialer.

Abbildung 2: Hauptseite des Dialers
Anrufbehandlung
Unten ist der Ablauf der Anrufweiterleitung dargestellt:

Abbildung 3: Anrufbehandlung
Benachrichtigungen
Die verschiedenen Benachrichtigungsseiten werden unten angezeigt:

Abbildung 4: Benachrichtigungen
Status während eines Anrufs
Der Ablauf der Seite „In einem Anruf“ ist unten dargestellt:

Abbildung 5: Seite während eines Anrufs
Suchen
Die Suchanzeigen sind:

Abbildung 6 Suchen
Einstellungen
Folgende Optionen sind verfügbar:

Abbildung 7. Einstellungen
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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"]]