از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
پیاده سازی متن بلادرنگ
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این صفحه نحوه پیادهسازی متن بیدرنگ (RTT) در Android 9 را توضیح میدهد. RTT یک ویژگی برای کاربران ناشنوا یا کم شنوا است که جایگزین فناوری دستگاه تحریر از راه دور (TTY) میشود. با استفاده از این ویژگی، دستگاهها میتوانند از شماره تلفن یکسانی برای تماسهای صوتی و RTT استفاده کنند، متنی را که تایپ میشود به صورت کاراکتر به کاراکتر به طور همزمان ارسال کنند، از ارتباطات 911 پشتیبانی کنند و قابلیت عقبنشینی را با TTY ارائه دهند.
در تماس RTT، هر دو تماس گیرنده و گیرنده نشانه هایی دارند که در تماس RTT هستند. هنگام اتصال، هر دو طرف تماس RTT را وارد می کنند که در آن ورودی متن و صفحه کلید فعال می شود. هنگام تایپ، متن ظاهر می شود و همانطور که تایپ می شود، کاراکتر به کاراکتر ارسال می شود.
مثال ها و منبع
اجزای چارچوب در AOSP در Call.RttCall و Connection.RttTextStream در دسترس هستند. اجزای IMS/modem اختصاصی هستند و باید توسط فروشنده IMS/modem عرضه شوند. پیاده سازی مرجع Dialer RTT نیز در دسترس است.
کد شمارهگیر AOSP برای RTT:
پیاده سازی
برای پیاده سازی RTT، باید با یک ارائه دهنده مودم/SoC کار کنید زیرا مودمی که از RTT پشتیبانی می کند مورد نیاز است. میتوانید به اندروید 9 ارتقا دهید یا لیستی از وصلههای فریمورک تلفنی را در اندروید 8.0 پشتیبانگیری کنید. API های اضافه شده در Android 8.0 AOSP کار نمی کنند.
این ویژگی از API های عمومی در AOSP در android.telecom
و @SystemApis در android.telephony.ims
استفاده می کند. همه UI در com.android.phone
و شماره گیر AOSP قرار دارد.
برای پیادهسازی RTT، کد AOSP را وارد کنید و یک پشته IMS تهیه کنید که @SystemApis سمت IMS را برای RTT پیادهسازی میکند. این مستلزم:
سفارشی سازی
میتوانید با استفاده از پیکربندی دستگاه، config_support_rtt
، در پوشش پیکربندی دستگاه برای packages/services/Telephony
، و پرچم پیکربندی شرکت مخابراتی، CarrierConfigManager.RTT_SUPPORTED_BOOL
، در فایلهای پیکربندی شرکت مخابراتی، این ویژگی را فعال یا غیرفعال کنید. بسته به پیکربندی، این ویژگی یا از طریق تنظیمات Accessibility در دسترس است یا خیر. از پیکربندی دستگاه برای تغییر تنظیمات پیش فرض استفاده کنید. به طور پیش فرض، این ویژگی روی Off تنظیم شده است.
اعتبار سنجی
برای تایید اجرای RTT خود، تستهای CTS را اجرا کنید و تست RTT شمارهگیر را انجام دهید.
تست CTS
تستهای CTS ( android.cts.telecom.RttOperationsTest
) بخش AOSP از پیادهسازی را پوشش میدهند. شما باید آزمایش های خود را برای بخش پشته IMS پیاده سازی ارائه دهید.
تست RTT شماره گیر
شرح سناریو | مسخره UI |
---|
اگر RTT در دستگاه غیرفعال باشد، گفتگوی مربوط به RTT نمایش داده می شود. | 
|
در تنظیمات Dialer، یک صفحه متن بیدرنگ در زیر Settings > Accessibility موجود است که گزینهای را برای انتخاب حالت RTT متفاوت فراهم میکند. | 
|
هنگامی که RTT به طور پیش فرض فعال است:
- در حین برقراری تماس، رابط کاربری استاندارد شماره گیری حین تماس نمایش داده می شود.
- پس از اتصال، نمای حالت RTT نمایش داده می شود. اگر کاربر دریافت کننده به حالت پیش فرض RTT نرود، بنری که نشان می دهد حالت RTT درخواست شده است در حالی که منتظر پاسخ است نمایش داده می شود.
| 
|
اگر RTT در دستگاه غیرفعال است:
- صفحه تماس ورودی، برچسبهای استاندارد پاسخگویی و برچسبهای تماس استاندارد را نشان میدهد.
| 
|
اگر RTT در دستگاه فعال است و پیشفرض برای پاسخ دادن به همه تماسها به صورت RTT تنظیم شده است:
- صفحه تماس ورودی، Puck RTT و برچسبهای تماس مرتبط را نشان میدهد.
- با پاسخ دادن به تماس، نمای حالت RTT با فعال بودن صفحه کلید بارگیری می شود.
| 
|
در رابط کاربری حین تماس برای RTT، گزینههایی ارائه شده است که به کاربران امکان میدهد وضعیت تماس صوتی را کنترل کنند و در مورد استفاده از RTT کمک کلی دریافت کنند:
- میکروفون را روشن و خاموش کنید.
- روشن و خاموش کردن بلندگو
- از صفحه کلید به عنوان ورودی استفاده کنید.
- تماس دیگری اضافه کنید.
- از تماس RTT به تماس صوتی تغییر دهید.
- نگه داشتن را روشن و خاموش کنید.
| 
|
در صفحه جزئیات تماس، با انتخاب پیوند مشاهده رونوشت، نمای کامل مکالمه با متن کامل جلسه RTT نمایش داده می شود. مهرهای زمانی نمایش داده می شود. کاربر می تواند با استفاده از دکمه برگشت به صفحه جزئیات تماس بازگردد. | 
|
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Implement real-time text\n\nThis page describes how to implement real-time text (RTT) in Android\n9. RTT is a feature for deaf or hard of hearing users\nthat replaces teletypewriter (TTY) technology. With this feature, devices can\nuse the same phone number for voice and RTT calls, simultaneously transmit text\nas it is being typed on a character-by-character basis, support 911\ncommunications, and provide backward capability with TTY.\n\nIn an RTT call, both the caller and receiver have indications that they are in\nan RTT call. When connected, both sides enter the RTT call where the text input\nand keyboard is activated. When typing, the text appears and is sent as it is\ntyped, character by character.\n\nExamples and source\n-------------------\n\nFramework components are available in AOSP at\n[Call.RttCall](https://developer.android.com/reference/android/telecom/Call.RttCall)\nand\n[Connection.RttTextStream](https://developer.android.com/reference/android/telecom/Connection.RttTextStream).\nIMS/modem components are proprietary and should be supplied by the IMS/modem\nvendor. Dialer RTT reference implementation is also available.\n\nAOSP Dialer code for RTT:\n\n- InCall: [/java/com/android/incallui/rtt](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/incallui/rtt)\n- Call log: [/java/com/android/dialer/rtt](https://android.googlesource.com/platform/packages/apps/Dialer/+/android16-release/java/com/android/dialer/rtt)\n\nImplementation\n--------------\n\nTo implement RTT, you should work with a modem/SoC provider because a modem that\nsupports RTT is required. You can upgrade to Android\n9 or backport a list of telephony framework patches\ninto Android 8.0. APIs added in Android 8.0 AOSP will not work.\n\nThis feature uses public APIs in AOSP in `android.telecom` and @SystemApis in\n`android.telephony.ims`. All UI lies within `com.android.phone` and the AOSP\ndialer.\n\nTo implement RTT, import the AOSP code and supply an IMS stack that implements\nthe IMS-side @SystemApis for RTT. This requires:\n\n- Turning RTT on/off using `ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)`\n- Indicating RTT status of a call using `ImsStreamMediaProfile#mRttMode`\n- Support for the following methods in `ImsCallSession`:\n\n - `sendRttMessage`\n - `sendRttModifyRequest`\n - `sendRttModifyResponse`\n- Support for calling the following methods in `ImsCallSessionListener`:\n\n - `callSessionRttModifyRequestReceived`\n - `callSessionRttModifyResponseReceived`\n - `callSessionRttMessageReceived`\n\nCustomization\n-------------\n\nYou can enable or disable this feature using the device config,\n`config_support_rtt`, in the device config overlay for\n`packages/services/Telephony`, and the carrier config flag,\n`CarrierConfigManager.RTT_SUPPORTED_BOOL`, in the carrier config files.\nDepending on the configuration, the feature is either available through the\nAccessibility settings or not. Use the device config to change the default\nsettings. By default, the feature is set to Off.\n\nValidation\n----------\n\nTo validate your implementation of RTT, run CTS tests, and perform dialer RTT\ntesting.\n\n### CTS testing\n\nThe CTS tests (`android.cts.telecom.RttOperationsTest`) cover the AOSP portion\nof the implementation. You must provide your own tests for the IMS stack portion\nof the implementation.\n\n### Dialer RTT testing\n\n| **Scenario description** | **UI mock** |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|\n| If RTT is disabled on the device, a dialog about RTT is displayed. | |\n| In Dialer settings, a Real-Time Text screen is available under **Settings \\\u003e Accessibility** that provides an option to choose a different RTT mode. | |\n| When RTT is enabled by default: - While the call is placed, the standard in-call dialing UI is displayed. - Upon call connection, the RTT mode view is displayed. If the receiving user doesn't default into RTT mode, a banner indicating that RTT mode has been requested is displayed while waiting for a response. | |\n| If RTT is disabled on the device: - Incoming call screen displays standard answering puck and standard call labels. | |\n| If RTT is enabled on the device and has the default set to answer all calls as RTT: - Incoming call screen displays RTT puck and associated call labels. - Answering the call loads the RTT mode view with keyboard enabled. | |\n| In the in-call UI for RTT, options are provided to allow users to control the state of the voice call and get general help on using RTT: - Toggle microphone on and off. - Toggle speaker on and off. - Use keypad as an input. - Add another call. - Switch to a voice call from an RTT call. - Toggle hold on and off. | |\n| In the Call details screen, selecting the See transcript link displays a full conversation view with the full text of the RTT session. Timestamps are displayed. The user can return to the Call details screen using the back button. | |"]]