اجرای رادیو با رسانه

رابط کاربری رادیو به عنوان یک برنامه مستقل پیاده‌سازی شده است. برای دستورالعمل‌های مربوط به نحوه ادغام رابط کاربری رادیو با سخت‌افزار رادیو، به بخش پیاده‌سازی رادیو مراجعه کنید.

بخش زیر نحوه ادغام رابط کاربری رادیو با رسانه را شرح می‌دهد تا تجربه‌ای یکپارچه را در اختیار کاربران قرار دهد که به آنها امکان می‌دهد با منابع رسانه‌ای و رادیو مانند یک برنامه واحد تعامل داشته باشند.

جریان کاربر در تعویض منبع رسانه

نمودار زیر نشان می‌دهد که چگونه پیاده‌سازی مرجع Radio and Media، جریان کاربر برای تغییر برنامه را پیاده‌سازی می‌کند.

جریان کاربر در تعویض منبع رسانه

شکل ۱. جریان کاربر در حال تغییر منبع رسانه

برای فراهم کردن یک انتقال یکپارچه بین رادیو و سایر برنامه‌ها در بخش رسانه، کتابخانه car-media-common اهداف اندروید را تعریف می‌کند که می‌توانند برای راه‌اندازی یک انتخابگر منبع رسانه استفاده شوند. در AOSP، این انتخابگر در لانچر برنامه پیاده‌سازی شده است و همان رابط کاربری را برای راه‌اندازی برنامه‌ها ارائه می‌دهد اما فیلتر شده است تا فقط منابع رسانه را نمایش دهد.

تولیدکنندگان اصلی تجهیزات (OEM) می‌توانند پیاده‌سازی فعلی App Launcher را به همین شکل فعلی در نظر بگیرند، یا یک انتخابگر منبع رسانه سفارشی پیاده‌سازی کنند.

انتخابگر می‌تواند در دو حالت عمل کند:

  • جریان عادی. پس از استفاده از انتخابگر، منبع انتخاب شده در رسانه نمایش داده می‌شود تا کاربر بتواند محتوای آن را مرور کند.
  • به عنوان یک سوئیچ. از یک انتخابگر برای تغییر منابع استفاده می‌شود، اما رسانه به کاربر نمایش داده نمی‌شود. این در مورد آیکون انتخابگر در صفحه اصلی نیز صادق است. پس از انتخاب یک منبع، جدیدترین صفحه قبلی به کاربر نمایش داده می‌شود (در این مورد، صفحه اصلی).

اینتنت مورد استفاده برای جابجایی بین منابع رسانه را می‌توان از متد MediaSource#getSourceSelectorIntent() دریافت کرد، که یک مقدار Boolean popup می‌پذیرد و اینتنت را برای اجرای هر یک از جریان‌های توضیح داده شده در بالا برمی‌گرداند.

اینتنت‌های واقعی در packages/apps/Car/libs/car-media-common/res/values/config.xml تعریف شده‌اند. برای سفارشی‌سازی این پیکربندی، از overlayهای زمان ساخت استفاده کنید.

برنامه رادیو را جایگزین کنید

با توجه به اینکه برنامه رادیو، مرور رسانه و جلسه رسانه را پیاده‌سازی می‌کند، رادیو در لانچر برنامه نمایش داده می‌شود. برای جلوگیری از اجرای رسانه هنگام کلیک کاربر روی آیکون، دو عنصر مورد نیاز است. رادیو باید :

  • یک فعالیت پرتابی داشته باشید.
  • به عنوان یک منبع سفارشی اعلام شود. برای انجام این کار، نام کامپوننت را به کلید custom_media_packages در car-media-common/res/values/config.xml اضافه کنید.

محدودیت‌های رانندگی UX

رسانه‌ها باید تمام محدودیت‌های حواس‌پرتی رانندگی UX را رعایت کنند. برای انجام این کار، رسانه‌ها باید به CarUXRestrictionManager گوش دهند و تمام سیاست‌های آن را اجرا کنند.

  • رسانه باید به کتابخانه Car متصل شود و یک نمونه از CarUXRestrictionManager دریافت کند.
  • رسانه‌ها باید در به‌روزرسانی‌های فهرست محدودیت‌های CarUx مشترک شوند و آنها را طبق مستندات اجرا کنند.
  • موارد زیر به ویژه برای رسانه‌ها مهم هستند:
    • UX_RESTRICTIONS_NO_SETUP . در این حالت، جریان ورود به سیستم باید غیرفعال شود.
    • UX_RESTRICTIONS_LIMIT_STRING_LENGTH . پیام‌های خطا و سایر متن‌های ارائه شده توسط برنامه‌های رسانه‌ای باید به طول مشخص شده محدود شوند.