Android 7.0 عملکرد مربوط به اعلانهای تماس را از سرویس سیستم Telecom در پلاتفرم Android به برنامه «شمارهگیر» منتقل میکند. پیشاز این، مسئولیت نمایش اعلانهای مربوط به تماس بین Telecom و برنامه «شمارهگیر» پیشفرض تقسیم شده بود که باعث ایجاد ناهماهنگی در عملکرد میشد. در Android 7.0، «شمارهگیر» تمام مسئولیت رسیدگی به اعلانهای تماس را برعهده میگیرد.
عملکرد در Android 6.x و نسخههای پایینتر
در نسخههای قبلی Android، «مخابرات» و «شمارهگیر» مسئولیتها را طبق جدول زیر تقسیم میکردند:
| عملکرد | انجامشده توسط Telecom | توسط Dialer انجام شد |
|---|---|---|
| اعلان تماس ورودی | بله (زنگ، لرزش) | بله (نمایش اعلان، شناسه تماسگیرنده) |
| ارسال به پست صوتی | بله | نه |
| آهنگ زنگ سفارشی | بله | نه |
| اعلانهای تماس بیپاسخ | بله | نه |
| نشانگر انتظار پیام (تماس با پیامگیر صوتی) | بله (تلفنی) | نه |
| اعلانهای پست صوتی تصویری | نه | بله |
نمونههایی از رفتار ناسازگار ناشی از این تقسیم مسئولیت شامل موارد زیر میشود:
- Telecom مسئول شروع زنگ/لرزاننده بود، اما شمارهگیر مسئول نمایش اعلان تماس ورودی بود. اگر شمارهگیر بهکندی راهاندازی شود، این امر میتواند منجر به شروع زنگ خوردن چند ثانیه قبلاز نمایش اعلان تماس ورودی شود.
- Telecom مسئول نمایش اعلانهای تماس بیپاسخ بود. ازآنجاییکه ویژگیهای اختصاصی (مثل «شناسه تماسگیرنده Google») در این اعلانها کار نمیکنند، این امر میتواند منجر به ناسازگاری بین اعلانهای «مخابرات» و «میانای کاربر شمارهگیر» (مثل گزارش تماس) شود.
رفتار در Android نسخه ۷.۰ و بالاتر
«شمارهگیر پروژه منبع باز Android» (AOSP) عملکرد جدید را پیادهسازی میکند. برای جزئیات، به اسناد زیر مراجعه کنید:
- اعلانهای تماس بیپاسخ
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - پخش آهنگهای زنگ:
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Dialer/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - اعلانهای VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
سبک اعلان برای تماسها در Android 12 یا بالاتر
برای دستگاههایی که Android 12 یا نسخههای بالاتر را اجرا میکنند، برای ارائه
تجربه کاربری یکسان برای تماسها، توصیه میکنیم برنامهها از
CallStyle سبک اعلان برای تماسهای ورودی و جاری استفاده کنند.
برای اطلاعات بیشتر، به
اعلانهای جدید تماس تلفنی که امکان رتبهبندی اهمیت تماسهای ورودی را فراهم میکند مراجعه کنید.
پیادهسازی
پیادهسازان دستگاه ممکن است نیاز داشته باشند مؤلفههای «مخابرات/تلفن» را که میاناهای برنامهسازی کاربردی را برای استفاده توسط «شمارهگیر» پیشفرض نمایان میکنند بهروز کنند.