27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Teknik ayrıntılar
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Aşağıdaki şemada, Dialer ile etkileşime geçen sistem bileşenleri gösterilmektedir:

Şekil 1. Telefon uygulamasıyla etkileşime geçen bileşenler
-
Sistem kullanıcı arayüzü. intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
intent'ini kaydeden Telefon düğmesini barındırmak için alt gezinme yönleri
Bu işlem, kullanıcının ana etkinliğini (TelecomActivity
) başlatır.
-
Uygulama Başlatıcı Uygulama listesinin tamamını yönetir. Dialer, android.intent.category.LAUNCHER
ile TelecomActivity'yi beyan eder. Başlatıcının uygulama listesinden telefon uygulamasını seçtiğinizde TelecomActivity gösterilir.
-
Ana ekran widget'ı. AOSP referansında Home widget'ı yoktur. OEM'ler, mevcut bağlı telefonun durumunu (ve diğer bilgileri) görüntülemek için Arama Aracı'na bir Ana ekran widget'ı eklemeyi düşünebilir.
-
Bildirim Merkezi
-
Gelen aramalar için Uyarı Bildirimi (HUN) gösterilir. InCallServiceImpl
Telefon uygulaması, gelen bir aramayı aldığında bildirim merkezine bir HUN gönderir. Bu bildirimde telefon numarası veya iletişim bilgileri gibi arama ayrıntıları gösterilir. Telefon uygulaması ayrıca Yanıtla ve Reddet olmak üzere iki işlem düğmesi de gösterir. Yanıtla düğmesine dokunulduğunda arama yanıtlanır ve InCallServiceImpl
, etkin aramayı yöneterek Arama Ağı'nın arama içi kullanıcı arayüzünü gösterir ve HUN'u kapatır. HUN'u tıkladığınızda, Yanıtla ve Reddet düğmelerinin bulunduğu tam ekran Arama sayfası gösterilir.
-
Okunmamış cevapsız aramalar için bildirim gösterilir. Bildirimi tıkladığınızda Arama Geçmişi sayfası görüntülenir ve cevapsız aramalar okundu olarak işaretlenir. Geri Ara düğmesine dokunduğunuzda arama yapılır ve Arama'nın Arama Arası kullanıcı arayüzü gösterilir.
-
Asistan Kullanıcılar, bir asistandan Çevirici görüşme içi kullanıcı arayüzünü gösterebilecek bir arama yapmasını isteyebilir.
-
Google Haritalar. Google Haritalar'dan bir satıcıyı aradığınızda, DIAL intent'i telefon numaralarının ekleriyle birlikte gönderilir. Bu intent, hızlı arama için Dialpad sayfasını başlatır.
-
CarInputService. Direksiyondaki Ara ve Görüşmeyi Sonlandır düğmelerinin fiziksel anahtarını izler. Aşağıdaki düğmelere basarak:
-
Gelen arama olmadığında direksiyondaki arama düğmesi DIAL intent'ini gönderir ve Çevirici'nin Numara Pad sayfasını görüntüler.
-
Gelen arama olduğunda direksiyondaki arama düğmesi, TelecomManager'ın aramayı yanıtlamasına neden oluyor.
-
Gelen bir arama olduğunda direksiyondaki "Arama sonlandır" düğmesine basıldığında TelecomManager aramayı sonlandırır.
-
Bluetooth
-
PBAPClient. Telefondan kişileri indirir ve kişiler sağlayıcısına yazar. Bağlı her telefon için hesap adı olarak cihazın Bluetooth MAC adresi ve hesap türü olarak com.android.bluetooth.pbapsink
(packages/apps/Bluetooth
içinde tanımlanan @string/pbap_account_type
) kullanılarak bir hesap oluşturulur. Kişi sağlayıcısına yazılan kişiler, hesap bilgileriyle yazılır ve telefonun bağlantısı kesildiğinde silinir. PBAPClient
doğrudan Arama Aracı ile etkileşime girmez, bunun yerine kişileri Kişi Sağlayıcı'ya yazar. Telefon Arayıcı, Kişi Sağlayıcı'daki kişileri okur.
-
HfpClientConnectionService
. HFP üzerinden Bluetooth aramasını yönetir ve aramayı telekomünikasyon hizmetlerine bildirir.
-
Telekomünikasyon. Android Telecom çerçevesi, Android cihazdaki sesli ve görüntülü görüşmeleri yönetir. Varsayılan telefon uygulaması olan Çevirici, InCallService
API'lerini uygular ve InCallController
, aramaları yönetmek için Çevirici'nin InCallService uygulamasını bağlar. Daha fazla bilgi için Yedek telefon uygulaması oluşturma ve Varsayılan telefon uygulaması olma başlıklı makaleleri inceleyin.
-
Sistem Ayarları Telefon uygulaması, HFP bağlı cihaz listesini izler ve Bluetooth üzerinden telefon uygulamasına bağlı telefon olmadığında bir hata mesajı gösterir. AOSP referansında, Bluetooth'a bağlan düğmesi kullanıcıları yeni bir cihazı eşlemek veya eşlenmiş bir cihaza bağlanmak için sistem Bluetooth ayarları sayfasına yönlendirir.
-
Sürücünün Dikkatinin Dağılması Motoru. Bu Android sistem hizmeti, aracın sürüş durumuna göre kullanıcı deneyimi kısıtlamaları uygular. Dialer, sürüş sırasında dikkat dağıtıcı tüm kullanıcı deneyimi kısıtlamalarını yürütmelidir.Bunun için Dialer'ın CarUXRestrictionManager'ı dinlemesi ve tüm politikaları uygulaması gerekir. Dialer:
-
Car kitaplığına bağlanın ve CarUXRestrictionManager sınıfının bir örneğini alın.
-
CarUxRestrictions listesinde güncellemelere abone olun ve bunları dokümanda belirtildiği şekilde uygulayın.
-
Özellikle Dialer için önemli olan noktalar:
-
Ayarlar sayfası araç için optimize edilmiştir. Kullanıcı, sürüş sırasında Arama Ayarlarına erişemedi. İşlem çubuğundan Ayarlar menüsüne dokunulduğunda, sürüş sırasında kullanıcının Ayarlar'a erişmesini engellemek için bir engelleme ekranı gösterilir. Ayarlar sayfası zaten görüntüleniyorsa kullanıcı etkileşimini durdurmak için engelleme ekranı açılır.
-
Sürüş sırasında sistem ayarlarına erişilemez. Bluetooth cihaz bağlı olmadığında hata sayfasında Bluetooth'a bağlan düğmesi gösterilir. Bu düğmeye basarak sistem Bluetooth ayarları sayfasına gidebilirsiniz. Bu düğmenin UXR'si tamamen kısıtlanmıştır.
Araç sürerken bu düğmeyi tıkladığınızda, kullanıcıyı önce arabayı park edip ardından işlemi gerçekleştirmesi gerektiği konusunda bilgilendiren bir hata mesajı gösterilir.
-
Kullanıcı, sürüş sırasında favorilere ekleme akışını başlatamaz. Favori ekle düğmesi devre dışıdır.
Kullanıcı işlemleri akışları
Dialer Main
Arama cihazı için farklı sayfalar aşağıda verilmiştir.

Şekil 2. Ana Dialer sayfası
Arama işleme
Arama aktarma işlemi akışı aşağıda sunulmuştur:

Şekil 3. Arama işleme
Bildirimler
Farklı bildirim sayfaları aşağıda gösterilmiştir:

Şekil 4. Bildirimler
Görüşmedeki durum
Görüşmedeki sayfa akışı aşağıda gösterilmiştir:

Şekil 5. Görüşme sayfası
Arat
Arama sonuçlarında gösterilenler:

Şekil 6. Arat
Ayarlar
Ayar seçenekleri şunlardır:

Şekil 7. Ayarlar
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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"]]