از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
اعلان های تماس
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Android 7.0 عملکرد مربوط به اعلان تماس ها را از سرویس سیستم مخابراتی در پلتفرم اندروید به برنامه Dialer منتقل می کند. پیش از این، مسئولیت نمایش اعلانهای مربوط به تماس بین Telecom و برنامه پیشفرض Dialer تقسیم میشد و ناهماهنگی در رفتار ایجاد میکرد. در Android 7.0، Dialer تمام مسئولیت رسیدگی به اعلانهای تماس را بر عهده میگیرد.
رفتار در اندروید 6.x و پایین تر
در نسخه های قبلی اندروید، Telecom و Dialer مسئولیت ها را به شرح زیر تقسیم می کنند:
عملکرد | توسط مخابرات انجام شد | توسط Dialer انجام شد |
---|
اعلان تماس ورودی | بله (زنگ، ارتعاش) | بله (نمایش اعلان، شناسه تماس گیرنده) |
ارسال به پست صوتی | آره | خیر |
آهنگ زنگ سفارشی | آره | خیر |
اعلان تماس های از دست رفته | آره | خیر |
نشانگر انتظار پیام (پست صوتی تماس) | بله (تلفن) | خیر |
اعلان های پست صوتی تصویری | خیر | آره |
نمونه هایی از رفتار ناسازگار ناشی از این تقسیم مسئولیت عبارتند از:
- مخابرات مسئول راه اندازی زنگ/ویبراتور بود، اما شماره گیر مسئول نمایش اعلان تماس ورودی بود. اگر شمارهگیر دیر راهاندازی میشود، ممکن است چند ثانیه قبل از نمایش اعلان تماس ورودی، زنگ شروع شود.
- Telecom مسئول نمایش اعلان تماس های از دست رفته بود. از آنجایی که ویژگیهای اختصاصی (مانند شناسه تماسگیرنده Google) روی این اعلانها کار نمیکنند، این میتواند منجر به ناسازگاری بین اعلانهای مخابراتی و رابط کاربر شمارهگیر (مانند گزارش تماس) شود.
رفتار در اندروید 7.0 و بالاتر
شماره گیر پروژه منبع باز Android (AOSP) عملکرد جدید را پیاده سازی می کند. برای جزئیات، به اسناد زیر مراجعه کنید:
سبک اعلان تماس ها در اندروید 12 یا بالاتر
برای دستگاههای دارای Android 12 یا بالاتر، برای ارائه تجربه کاربری ثابت برای تماسها، توصیه میکنیم برنامهها از سبک اعلان CallStyle
برای تماسهای ورودی و جاری استفاده کنند. برای اطلاعات بیشتر، به اعلانهای تماس تلفنی جدید که امکان رتبهبندی اهمیت تماسهای ورودی را میدهد، مراجعه کنید.
پیاده سازی
پیادهکنندههای دستگاه ممکن است نیاز به بهروزرسانی مؤلفههای Telecom/Telephony داشته باشند که APIهای موجود برای استفاده توسط شمارهگیر پیشفرض را در معرض نمایش قرار میدهند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-06-18 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-06-18 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Call notifications\n\nAndroid 7.0 moves functionality related to call notifications from the\nTelecom system service in the Android platform to the Dialer app.\nPreviously, the responsibility for displaying call-related notifications was\nsplit between Telecom and the default Dialer app, creating inconsistencies in\nbehavior. In Android 7.0, the Dialer assumes all responsibility for handling\ncall notifications.\n\nBehavior in Android 6.x and lower\n---------------------------------\n\nIn earlier Android releases, Telecom and Dialer split responsibilities as\ndescribed below:\n\n| Functionality | Done by Telecom | Done by Dialer |\n|--------------------------------------------|------------------------|---------------------------------------|\n| Incoming call notification | Yes (ringing, vibrate) | Yes (notification display, caller ID) |\n| Send to voicemail | Yes | No |\n| Custom ringtone | Yes | No |\n| Missed call notifications | Yes | No |\n| Message Waiting Indicator (call voicemail) | Yes (telephony) | No |\n| Visual voicemail notifications | No | Yes |\n\nExamples of inconsistent behavior caused by this responsibility split\nincluded:\n\n- Telecom was responsible for starting the ringer/vibrator, but the dialer was responsible for displaying the incoming call notification. If the dialer is slow to startup, this can result in ringing starting several seconds before the incoming call notification is displayed.\n- Telecom was responsible for displaying missed call notifications. As proprietary features (such as Google caller ID) do not work on these notifications, this could result in inconsistencies between Telecom notifications and Dialer UI (such as the call log).\n\nBehavior in Android 7.0 and higher\n----------------------------------\n\nThe Android Open Source Project (AOSP) Dialer implements the new\nfunctionality. For details, refer to the following documentation:\n\n- Missed call notifications \n [Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java](https://android.googlesource.com/platform/packages/services/Telecomm/+/android16-release/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java) \n [Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java) \n [Dialer/android/dialer/calllog/MissedCallNotifier.java](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/dialer/app/calllog/MissedCallNotifier.java)\n- Playing ringtones: \n [frameworks/base/telecomm/java/android/telecom/InCallService.java](https://android.googlesource.com/platform/frameworks/base/+/android16-release/telecomm/java/android/telecom/InCallService.java) \n [Telecom/src/com/android/server/telecom/InCallController.java](https://android.googlesource.com/platform/packages/services/Telecomm/+/android16-release/src/com/android/server/telecom/InCallController.java) \n [Dialer/java/com/android/incallui/ringtone/](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/incallui/ringtone/) \n [Dialer/java/com/android/incallui/StatusBarNotifier.java](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/incallui/StatusBarNotifier.java)\n- VVM notifications \n [frameworks/base/telephony/java/android/telephony/TelephonyManager.java](https://android.googlesource.com/platform/frameworks/base/+/android16-release/telephony/java/android/telephony/TelephonyManager.java) \n [Telephony/src/com/android/phone/PhoneInterfaceManager.java](https://android.googlesource.com/platform/packages/services/Telephony/+/android16-release/src/com/android/phone/PhoneInterfaceManager.java) \n [Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java](https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java)\n\nNotification style for calls in Android 12 or higher\n----------------------------------------------------\n\nFor devices running Android 12 or higher, to provide\na consistent user experience for calls, we recommend that apps use the\n[`CallStyle`](https://developer.android.com/reference/android/app/Notification.CallStyle) notification style for incoming and ongoing calls.\nFor more information, see\n[New phone call notifications allowing for ranking importance of incoming\ncalls](https://developer.android.com/about/versions/12/features#new-calls).\n\nImplementation\n--------------\n\nDevice implementers may need to update Telecom/Telephony components that\nexpose APIs available for use by the default Dialer."]]