نقش های اندروید

نقش یک نام منحصر به فرد در سیستم است که با مجوزها و امتیازات خاصی مرتبط است. برنامه‌ها می‌توانند از طریق API Android، مخصوصاً با فراخوانی متدهایی در کلاس RoleManager درخواست نگه‌داشتن نقش‌های خاصی را داشته باشند.

لیست زیر را برای نقش های موجود و الزامات مربوط به آنها ببینید.

نقش الزامات
دستیار حداقل یکی از:
  • برنامه دارای فعالیتی است که با توجه به اطلاعات مربوط به زمینه کاربر هنگام درخواست کمک (به عنوان مثال، نام بسته برای برنامه پیش‌زمینه فعلی و اطلاعات متنی آن) اقدامات کمکی را انجام می‌دهد.
  • این برنامه دارای یک سرویس تعامل صوتی همیشه روشن است که توسط مجوز android.permission.BIND_VOICE_INTERACTION در دسترس است، که می تواند تشخیص صدا را انجام دهد و جلسات تعامل صوتی فعال را میزبانی کند. علاوه بر این، این برنامه دارای یک پرچم صریح است که نشان می دهد این سرویس قادر به مدیریت عمل کمک است.
مرورگر همه از:
  • این برنامه دارای یک فعالیت است، که برنامه ها می توانند از طریق درخواست های هدف ضمنی آن را فراخوانی کنند، که صفحه وب مربوط به آدرس http:// نشان می دهد.
  • برنامه باید ناوبری بین پیوندها را مدیریت کند. یعنی اگر کاربر در حال مشاهده یک صفحه وب است و روی آدرس http:// در متن کلیک می کند، برنامه باید بتواند محتوای مربوط به لینک انتخاب شده را بدون دخالت کاربر اضافی نمایش دهد.
  • برنامه باید بتواند اطلاعات موقعیت جغرافیایی فعلی دستگاه را در زمانی که درخواست می‌شود و کاربر آن درخواست را تأیید می‌کند به صفحات وب ارائه کند.
شماره گیر همه از:
  • این برنامه دارای یک فعالیت است، که برنامه ها می توانند از طریق درخواست های هدف ضمنی آن را فراخوانی کنند، که رابط کاربری در هنگام تماس را در حالی که دستگاه در حال تماس است، فراهم می کند.
  • این برنامه می تواند هدف تماس های دریافتی را مدیریت کند، اطلاعات مربوط به تماس (به عنوان مثال، شماره تلفن تماس گیرنده) را به کاربر نمایش دهد و به کاربر اجازه پاسخ یا رد تماس را بدهد.
  • این برنامه ابزاری را در اختیار کاربر قرار می دهد تا بتواند تماس ها را شروع کند و تاریخچه تماس ها را در دستگاه خود ببیند.
پیامک همه از:
  • این برنامه تمام الزامات برنامه های SMS را برآورده می کند.
  • این برنامه دارای یک فعالیت است، که برنامه ها می توانند از طریق درخواست های هدف ضمنی آن را فراخوانی کنند، که می تواند پیامی را به شماره تلفن ارسال کند.
  • این برنامه دارای سرویسی است که با مجوز android.permission.SEND_RESPOND_VIA_MESSAGE و با مقاصد ضمنی قابل استناد است، می‌تواند پیام‌های دریافتی از برنامه تلفن را زمانی که کاربر تصمیم می‌گیرد در طول تماس دریافتی به پیام پاسخ دهد، ارائه دهد. این برنامه می تواند پیام ها را از طریق سیستم پیام رسانی خود ارسال کند.
  • این برنامه دارای دو گیرنده پخش است، یکی با مجوز android.permission.BROADCAST_SMS و دیگری با مجوز android.permission.BROADCAST_WAP_PUSH ، که می توانند به ترتیب به پیام های SMS و MMS مبتنی بر متن ارسال شده به دستگاه گوش دهند. سپس این برنامه مسئول نوشتن پیام ها به ارائه دهنده پیامک و اطلاع رسانی به کاربران است.
اضطراری همه از:
  • برنامه یک برنامه سیستمی است.
  • این برنامه دارای فعالیتی است که اطلاعات اضطراری کاربر را ارائه می دهد. هر کسی می‌تواند از طریق دکمه اضطراری در فعالیت شماره‌گیر اضطراری به این صفحه بروید.
HOME این برنامه دارای فعالیتی است که می تواند با فشار دادن دکمه هوم، صفحه اصلی را راه اندازی کند. صفحه اصلی باید نمادهای برنامه، ویجت‌ها، و پشتیبانی از ناوبری بر اساس دکمه‌ها یا اشاره‌ها را نشان دهد (مثلاً کشیدن انگشت به بالا برای دیدن همه برنامه‌ها).
CALL_REDIRECTION این برنامه دارای سرویسی است که توسط مجوز android.permission.BIND_CALL_REDIRECTION_SERVICE دربندی شده است که چارچوب Telecom می تواند به آن متصل شود. این سرویس شماره تلفن خروجی را از چارچوب Telecom دریافت می کند و یکی از اقدامات زیر را انجام می دهد:
  • اجازه دهید تماس همانطور که هست انجام شود.
  • شماره خروجی را به مسیر از طریق یک شماره پروکسی تغییر دهید.
  • تماس را لغو کنید.
CALL_SCREENING این برنامه دارای سرویسی است که توسط مجوز android.permission.BIND_SCREENING_SERVICE دروازه‌بندی شده است که دو عملکرد را انجام می‌دهد:
  1. مسدود کردن/غربالگری تماس: این سرویس می‌تواند انتخاب کند که کدام تماس‌ها باید به برنامه شماره‌گیر روی تلفن ارسال شوند (و با توجه به DND/صدا، احتمالاً زنگ می‌زنند)، و کدام تماس باید بی‌صدا به پست صوتی ارسال شود.
  2. شناسایی تماس: این سرویس می تواند اطلاعات تماس را از طریق رابط کاربری شناسایی و نمایش دهد.
SYSTEM_GALLERY همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه یک رابط کاربری برای کاربران فراهم می کند تا فیلم ها و تصاویر خود را ذخیره، سازماندهی و نمایش دهند.
SYSTEM_AUTOMOTIVE_CLUSTER همه از:
  • این برنامه یک برنامه سیستمی در Automotive است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه عملکردی برای نمایشگر خوشه ای خودرو (معمولاً در مجاورت فرمان) برای کاربران فراهم می کند تا به تماس های تلفنی پاسخ دهند و به لیست تماس ها و گزارش تماس ها دسترسی داشته باشند.
COMPANION_DEVICE_WATCH این برنامه می‌تواند درخواست‌هایی برای مرتبط شدن و مدیریت یک دستگاه ساعت (با استفاده از API ارائه‌شده توسط کلاس CompanionDeviceManager ) ارائه دهد. پس از اتصال ساعت و برنامه از طریق رابط کاربری ارائه شده توسط برنامه، کاربران می توانند ساعت خود را از برنامه مدیریت کنند، از جمله همگام سازی مخاطبین و تقویم، و مدیریت اعلان ها و تماس های تلفنی.
SYSTEM_AUTOMOTIVE_PROJECTION همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه امکان نمایش صفحه نمایش گوشی را بر روی صفحه نمایش داخل خودرو فراهم می کند. این امکان را به رانندگان می دهد تا با استفاده از مکانیسم های ورودی روی خودرو، از جمله لمس، کنترل فرمان و فرمان های صوتی، به برنامه های کاربردی در تلفن های اندرویدی از جمله موسیقی، ناوبری، تماس های تلفنی و جستجوی گوگل دسترسی داشته باشند و آن ها را کنترل کنند.
SYSTEM_SHELL همه از:
  • این برنامه یک برنامه سیستمی است که به Process.SHELL_UID UID اختصاص داده شده است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه رابطی را ارائه می دهد که در سطح خط فرمان کار می کند تا کاربران بتوانند با سیستم عامل اندروید تعامل داشته باشند. به عنوان مثال، نمایش محتویات یک پوشه یا راه اندازی برنامه ها. دستورات شل را می توان به صورت برنامه ریزی شده توسط برنامه ها (با توجه به مجوزهای لازم اعطا شده) یا از ابزار ADB اجرا کرد.
SYSTEM_CONTACTS همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه یک رابط کاربری برای کاربران فراهم می کند تا مخاطبین خود را مدیریت کنند (به عنوان مثال، مشاهده، اشتراک گذاری، افزودن، حذف یا جستجوی یک مخاطب). وقتی کاربر مخاطبین خود را از برنامه به‌روزرسانی می‌کند، برنامه ارائه‌دهنده مخاطبین را به‌روزرسانی می‌کند. کاربران همچنین می توانند از طریق این برنامه با مخاطبین خود تماس بگیرند، ایمیل یا پیامک ارسال کنند.
SYSTEM_SPEECH_RECOGNIZER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه سرویسی را ارائه می دهد که می تواند تشخیص گفتار را انجام دهد.
  • هنگامی که برنامه جریان های زنده میکروفون را از یک برنامه دیگر برای تشخیص گفتار دریافت می کند، استفاده از میکروفون را به درستی به برنامه تماس نسبت می دهد و بر این اساس آمار عملکرد برنامه را به روز می کند.
SYSTEM_WIFI_COEX_MANAGER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه سرویسی دارد که به صورت پویا فهرستی از کانال های Wi-Fi را تنظیم می کند که دستگاه باید به دلیل تداخل سلولی از استفاده از آنها اجتناب کند.
SYSTEM_WELLBEING همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه باید عملکردی را برای کاربران فراهم کند تا حواس‌پرتی را کاهش دهد و آماری را در مورد نحوه استفاده از دستگاه خود به کاربران ارائه دهد (مثلاً زمان صفحه نمایش آنها در هفته).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • برنامه باید اعلان‌های هدآپ را به کاربران دستگاه‌های تلویزیون نشان دهد. هنگامی که هدف android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (از SystemUI) ارسال می‌شود، برنامه باید اعلان‌های فعال فعلی را نیز نشان دهد.
SYSTEM_COMPANION_DEVICE_PROVIDER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • برنامه باید بتواند دستگاه های جانبی را در مجاورت خود تشخیص دهد. باید یک رابط کاربری داشته باشد که کاربر بتواند تأیید کند که یک دستگاه جانبی معین باید با یک برنامه مرتبط و مدیریت شود. هنگامی که کاربر تأیید کرد، برنامه مدیریت به برنامه مرتبط اجازه دسترسی به دستگاه جانبی (مثلاً نام، آدرس، کلاس و وضعیت اتصال آن) را می‌دهد و می‌تواند فرآیند اتصال را آغاز کند.
SYSTEM_DOCUMENT_MANAGER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه دارای فعالیتی است که به کاربران امکان می دهد به اسناد موجود دسترسی داشته باشند و اسناد جدیدی را در دستگاه ایجاد کنند.
  • این برنامه باید تمام الزامات ذکر شده در بخش Android CDD 2.2.3 را برآورده کند. نرم افزار تحت عنوان [3.2.3.1/H-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER همه از:
  • برنامه یک برنامه سیستمی است.
  • این برنامه دارای سرویسی است که توسط android.permission.ACTIVITY_RECOGNITION محفوظ است که می‌تواند تشخیص فعالیت را انجام دهد (مثلاً دویدن یا دوچرخه‌سواری).
SYSTEM_UI همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این اپلیکیشن یک رابط کاربری برای تعامل کاربران با گوشی های خود دارد. به عنوان مثال، صفحه اصلی گوشی، ناوبری، برنامه های اخیر، تنظیمات سریع، نوار اعلان، صفحه قفل، کنترل صدا.
SYSTEM_TELEVISION_REMOTE_SERVICE همه از:
  • این برنامه یک برنامه سیستمی در Android TV است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه دارای سرویسی است که می تواند با دستگاه HID کنترل از راه دور تلویزیون (مثلاً از طریق BLE) ارتباط برقرار کند، رویدادها را تزریق کند (مثلاً کلیک کردن روی دکمه) و سایر داده ها را ارسال کند (به عنوان مثال، پخش صدا از میکروفون تعبیه شده در کنترل از راه دور). ) به پلت فرم.
SYSTEM_UI_INTELLIGENCE همه از:
  • یک سرویس از پیش نصب‌شده است که از طریق APIهای چارچوب (APIهای عمومی یا سیستم)، یک پردازنده هوشمند روی دستگاه برای ویژگی‌های رابط کاربری سیستم (به عنوان مثال، پیش‌بینی و نمایش برنامه‌های بعدی برای کاربران) فراهم می‌کند.
  • این سرویس باید تمام الزامات ذکر شده در بخش Android CDD 9.8.6 Content Capture را برآورده کند.
  • نمی تواند مجوز android.permission.INTERNET را داشته باشد. در عوض، باید از طریق APIهای کاملاً تعریف شده در یک پروژه منبع باز به اینترنت دسترسی داشته باشد.
  • نمی‌تواند به برنامه‌ها متصل شود، به جز برنامه‌های سیستمی زیر: بلوتوث، مخاطبین، رسانه، تلفن، SystemUI، و اجزای ارائه‌دهنده API اینترنت. هر اتصال مجاز باید به صراحت از طریق پیکربندی <allow-association> در پیکربندی سیستم تنظیم شود.
  • نمی‌تواند داده‌ها را با برنامه‌ها به اشتراک بگذارد مگر اینکه یک اقدام مستقیم کاربر وجود داشته باشد (به عنوان مثال، کاربر به صراحت یک دکمه را هر بار که داده‌ها به اشتراک گذاشته می‌شود فشار می‌دهد).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE همه از:
  • با شرایط SYSTEM_UI_INTELLIGENCE یکسان است، با این تفاوت که سرویس از پیش نصب شده یک پردازنده هوشمند روی دستگاه برای صدای محیط ارائه می دهد (به عنوان مثال، تشخیص آهنگ هایی که در نزدیکی دستگاه پخش می شوند).
SYSTEM_AUDIO_INTELLIGENCE همه از:
  • با شرایط SYSTEM_UI_INTELLIGENCE یکسان است، با این تفاوت که سرویس از پیش نصب شده یک پردازنده هوشمند روی دستگاه برای صدا ارائه می کند (به عنوان مثال، زیرنویس فیلم ها، پادکست ها، تماس های تلفنی، تماس های ویدیویی و پیام های صوتی).
SYSTEM_NOTIFICATION_INTELLIGENCE همه از:
  • با شرایط SYSTEM_UI_INTELLIGENCE یکسان است، با این تفاوت که سرویس از پیش نصب شده یک پردازنده هوشمند روی دستگاه برای اعلان ها ارائه می دهد (به عنوان مثال پیشنهاد پاسخ ها و اقدامات برای اعلان های پیام).
SYSTEM_TEXT_INTELLIGENCE همه از:
  • با شرایط SYSTEM_UI_INTELLIGENCE یکسان است، با این تفاوت که سرویس از پیش نصب شده یک پردازنده هوشمند روی دستگاه برای متن ارائه می دهد (به عنوان مثال ارائه ترجمه زنده یا تکمیل خودکار).
SYSTEM_VISUAL_INTELLIGENCE همه از:
  • با شرایط SYSTEM_UI_INTELLIGENCE یکسان است، با این تفاوت که سرویس از پیش نصب شده یک پردازنده هوشمند روی دستگاه برای ویژگی های بصری ارائه می دهد که شامل تجزیه و تحلیل داده های دوربین می شود. به عنوان مثال، زنده نگه داشتن صفحه نمایش گوشی در حالی که کاربر به آن نگاه می کند یا تعیین جهت صفحه نمایش ایده آل بر اساس جهت گیری صورت کاربر از دوربین جلوی دستگاه.
COMPANION_DEVICE_APP_STREAMING همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه می تواند کانال های ارتباطی را با دستگاه های متصل ایجاد و مدیریت کند تا بتوانند داده ها را تبادل کنند. برای ایجاد این کانال‌های ارتباطی، برنامه و دستگاه‌های متصل باید یکدیگر را با موفقیت احراز هویت کنند (مثلاً با اثبات دانش خود در مورد کلیدهای مشترک). کانال های ارتباطی باید دارای حفاظت رمزگذاری باشند.
  • این برنامه می‌تواند اعلان‌ها را از دستگاه محلی به دستگاه متصل ارسال کند تا به کاربر اجازه دهد در مورد اعلان‌های دستگاه متصل اقدام کند.
  • بتوانید ابرداده های لازم برای پخش جریانی برنامه را به دستگاه متصل پخش کنید، مانند لیست برنامه های موجود در دستگاه محلی.
  • قادر به پخش جریانی برنامه ها از دستگاه محلی به دستگاه متصل پس از اینکه کاربر تمایل خود را برای انجام این کار با رضایت صریح اعلام کرد (چه روی تلفن یا در دستگاه متصل) باشد.
  • قادر به پخش مجدد (تزریق) رویدادهایی باشید که در یک برنامه پخش جریانی روی یک دستگاه متصل روی دستگاه محلی اتفاق می‌افتند. به عنوان مثال، پخش مجدد یک رویداد لمسی در رایانه لوحی در همان مختصات روی تلفن.
  • این برنامه می‌تواند جریان میکروفون دستگاه محلی را با جریان میکروفون دستگاه متصل جایگزین کند، در حالی که یک برنامه پخش جریانی از میکروفون استفاده می‌کند.
  • این برنامه صدا را از دستگاه ضبط می کند و آن را به دستگاه متصل پخش می کند.
  • وقتی یک برنامه پخش جریانی از دوربین استفاده می‌کند، باید جریان دوربین دستگاه محلی را مسدود کند.
  • باید یکپارچگی سیستم عامل دستگاه متصل را تأیید کند (به عنوان مثال، با استفاده از تأیید دستگاه مانند VerifiedBootState ).
  • فقط برنامه‌هایی پخش جریانی کنید که تنها یک حساب منطبق در رجیستری حساب روی دستگاه (به عنوان مثال، AccountManager در Android) در هر دو دستگاه وجود دارد. اگر اینطور نیست، پخش جریانی باید با یک کد یکبار مصرف که در دستگاه منبع نشان داده شده و در دستگاه متصل وارد شود مجاز باشد. توجه داشته باشید که در مورد دستگاه‌هایی که از چند کاربر (و نه چند حساب) با همان ایزوله‌سازی تضمین شده داده مانند چند کاربر اندروید پشتیبانی می‌کنند، یک کاربر به عنوان یک دستگاه حساب می‌شود.
  • اگر اعتبار حساب در دستگاه متصل منقضی شد یا لغو شد، باید پخش جریانی را متوقف کند و فوراً از دستگاه متصل قطع شود.
  • باید تأیید کنید که دستگاه متصل قبل و در حین پخش جریانی در محدوده بلوتوث دستگاه محلی قرار دارد.
  • اگر کاربر به مدت 5 دقیقه با دستگاه متصل ارتباط برقرار نمی کند (به عنوان مثال صفحه کلید، صفحه لمسی و ماوس غیرفعال هستند) باید جلسات جاری برنامه را قطع کند. برنامه های پخش ویدئو از این الزام مستثنی هستند.
  • اگر دستگاه مبدأ از فاکتور دانش صفحه قفل (LSKF) استفاده می‌کند، وقتی صفحه قفل است، برنامه نباید برنامه‌ها را به دستگاه متصل پخش کند، مگر اینکه آن دستگاه صفحه قفل داشته باشد و قفل آن باز باشد.
  • اگر دستگاه توسط سرپرست مدیریت می‌شود، برنامه باید به خط‌مشی‌های تنظیم‌شده توسط سرپرست درباره فعال یا غیرفعال کردن پخش جریانی برنامه در دستگاه‌های اطراف (مثلاً استفاده از تنظیمات DevicePolicyManager در Android) احترام بگذارد.
  • باید اطمینان حاصل شود که نمایش از راه دور و همه منابع رویدادهای ورودی از راه دور متعلق به یک دستگاه منطقی (مثلاً یک نمایشگر از راه دور و یک صفحه کلید متصل) از دیدگاه کاربر هستند و رویدادها بر این اساس مسیریابی می شوند.
  • کاربر باید بتواند به پخش جریانی از دستگاه محلی پایان دهد، به عنوان مثال، با استفاده از یک دکمه در یک اعلان مداوم. اگر تلفن دارای قفل صفحه تنظیم شده باشد، این رفتار توسط صفحه قفل مشخص می شود.
  • هنگامی که پخش جریانی در دستگاه دیگری انجام می‌شود، مانند نمادی در نوار وضعیت یا یک اعلان دائمی، باید در دستگاه مبدأ هزینه نشان داده شود.
DEVICE_POLICY_MANAGEMENT همه از:
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند. برنامه‌ها نمی‌توانند این نقش را درخواست کنند، زیرا قرار است به‌صورت خارج از جعبه به نام بسته تعریف‌شده توسط OEM هنگام ارسال دستگاه اعطا شود.
  • برنامه باید بتواند نمایه مدیریت شده (مالک نمایه) یا دستگاه مدیریت شده (مالک دستگاه) را فراهم کند، از جمله دانلود/نصب Device Policy Client مناسب تا در صورت نیاز، مالک دستگاه/نمایه باشد.
  • برنامه ممکن است به‌صورت اختیاری، به‌صورت پویا منابعی مانند رشته‌ها، نقشه‌های مورد استفاده برای مدیریت خط‌مشی دستگاه را به‌روزرسانی کند.
  • برنامه ممکن است یک برنامه سیستمی از پیش نصب شده باشد یا قبل از تهیه، دانلود و نصب شود.
  • برای موارد تهیه نمایه مالک، زمانی که برنامه دارنده نقش بر روی یک کاربر Android معین نصب شده است، باید در تمام نمایه‌های قابل اجرا برای آن کاربر نصب شود.
SYSTEM_APP_PROTECTION_SERVICE همه از:
  • برنامه یک برنامه سیستمی است.
  • تنها هدف برنامه شناسایی برنامه‌های بالقوه مضر (برنامه‌هایی که می‌توانند کاربران، داده‌های کاربر یا دستگاه‌هایی مانند تروجان‌ها، فیشینگ و برنامه‌های جاسوس‌افزار را در معرض خطر قرار دهند) یا نرم‌افزارهای ناخواسته موبایل است.
  • برنامه باید تمام الزامات ذکر شده در بخش Android CDD 9.8.6 Content Capture را برآورده کند.
  • نباید مجوز عادی android.permission.INTERNET را اعلام کند. در عوض باید از طریق APIهای تعریف شده در یک پروژه منبع باز به اینترنت دسترسی داشته باشد.
  • نباید به برنامه‌ها متصل شود، به جز برنامه‌های سیستم زیر: کنترل‌کننده مجوز، و مؤلفه‌هایی که APIهای اینترنت را ارائه می‌کنند. هر اتصال مجاز باید به صراحت از طریق پیکربندی <allow-association> در پیکربندی سیستم تنظیم شود.
  • نباید داده ها را با برنامه ها به اشتراک بگذارد مگر اینکه یک اقدام مستقیم کاربر وجود داشته باشد (برای مثال، کاربر به صراحت یک دکمه را هر بار که داده ها به اشتراک گذاشته می شود فشار می دهد).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • باید داده های تقویم را از تلفن iOS یا Android کاربر به دستگاه Android Auto منتقل کند. دستگاه Android Auto باید این داده‌های تقویم را در ارائه‌دهنده تقویم ذخیره کند.
  • برنامه باید یک مؤلفه رابط کاربری در تلفن ارائه کند که کاربر بتواند از آن برای روشن کردن همگام‌سازی تقویم و انتخاب تقویم‌ها برای همگام‌سازی استفاده کند. برنامه باید یک مؤلفه رابط کاربری در تلفن ارائه کند که کاربر بتواند از آن برای خاموش کردن همگام‌سازی تقویم استفاده کند.
  • باید بدون اتصال به اینترنت کار کند. به عنوان مثال، با استفاده از اتصالات مستقیم سیمی یا بی سیم.
AUTOMOTIVE_NAVIGATION همه از:
  • این برنامه دارای یک فعالیت است، که برنامه ها می توانند از طریق درخواست های هدف ضمنی آن را فراخوانی کنند، که مکان فعلی و محیط اطراف کاربر را نشان می دهد.
  • این برنامه دارای یک فعالیت است، که برنامه ها می توانند از طریق درخواست های هدف ضمنی فراخوانی کنند، که به کاربر اجازه می دهد به یک مکان جغرافیایی مشخص حرکت کند.
  • فعالیتی دارد که وقتی برنامه فوکوس پیمایش را نگه می‌دارد، روی خوشه ابزار راه‌اندازی می‌شود. این فعالیت باید مکان فعلی کاربر، محیط اطراف را نشان دهد و به او اجازه دهد تا به یک مکان جغرافیایی مشخص حرکت کند.
COMPANION_DEVICE_COMPUTER همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • کاربران را قادر می سازد تا اعلان ها را منعکس کنند و از طریق یک رایانه متصل به عکس ها و رسانه ها از تلفن خود دسترسی داشته باشند.
SYSTEM_SETTINGS_INTELLIGENCE حداقل یکی از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • دارای سرویسی است که ویژگی های اطلاعاتی مانند پیشنهادات و جستجو را برای برنامه تنظیمات ارائه می دهد.
یادداشت همه از:
  • این برنامه دارای یک فعالیت است که برنامه ها می توانند از طریق درخواست های هدف ضمنی آن را فراخوانی کنند. این فعالیت به کاربر اجازه می دهد بدون توجه به قفل یا باز بودن صفحه، یادداشتی ایجاد کند.
  • برنامه باید با داشتن فعالیتی که دارای فیلتر هدف برای android.intent.action.CREATE_NOTE با دسته android.intent.category.DEFAULT از این مورد پشتیبانی کند. این اکتیویتی همچنین باید به طور مناسب قصد اضافی android.intent.extra.USE_STYLUS_MODE را مدیریت کند.
  • برنامه باید دارای هر دو ویژگی مانیفست showWhenLocked و turnScreenOn روی true باشد.
COMPANION_DEVICE_GLASSES این برنامه می‌تواند درخواست‌هایی برای مرتبط شدن و مدیریت یک دستگاه عینک (با استفاده از API ارائه شده توسط کلاس CompanionDeviceManager ) ارائه دهد. هنگامی که دستگاه عینک و برنامه با استفاده از رابط کاربری ارائه شده توسط CDM به هم متصل شدند، کاربران می توانند با دادن دسترسی به مخاطبین، و اجازه مدیریت اعلان ها و تماس های تلفنی، دستگاه عینک خود را مدیریت کنند.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING همه از:
  • برنامه یک برنامه سیستمی است.
  • فقط OEM ها می توانند این نقش را به برنامه اعطا کنند.
  • این برنامه می تواند کانال های ارتباطی را با دستگاه های متصل ایجاد و مدیریت کند تا دستگاه ها بتوانند داده ها را تبادل کنند. برای ایجاد این کانال‌های ارتباطی، برنامه و دستگاه‌های متصل باید یکدیگر را با موفقیت احراز هویت کنند (مثلاً با اثبات دانش خود در مورد کلیدهای مشترک). کانال های ارتباطی باید دارای حفاظت رمزگذاری باشند.
  • این برنامه می‌تواند اعلان‌ها را از دستگاه محلی به دستگاه متصل ارسال کند تا به کاربر اجازه دهد در مورد اعلان‌های دستگاه متصل اقدام کند.
  • بتوانید ابرداده های لازم برای پخش جریانی برنامه را به دستگاه متصل پخش کنید، مانند لیست برنامه های موجود در دستگاه محلی.
  • قادر به پخش جریانی برنامه ها از دستگاه محلی به دستگاه متصل پس از اینکه کاربر تمایل خود را برای انجام این کار با رضایت صریح اعلام کرد (چه روی تلفن یا در دستگاه متصل) باشد.
  • قادر به پخش مجدد (تزریق) رویدادهایی باشید که در یک برنامه پخش جریانی روی یک دستگاه متصل روی دستگاه محلی اتفاق می‌افتند. به عنوان مثال، پخش مجدد یک رویداد لمسی در رایانه لوحی با همان مختصات تلفن، یا پخش مجدد یک رویداد ورودی که در دستگاه عینک رخ داده است با همان معنای ورودی مانند تلفن.
  • این برنامه می‌تواند جریان میکروفون دستگاه محلی را با جریان میکروفون دستگاه متصل جایگزین کند، در حالی که یک برنامه پخش جریانی از میکروفون استفاده می‌کند.
  • این برنامه صدا را از دستگاه ضبط می کند و آن را به دستگاه متصل پخش می کند.
  • باید یکپارچگی سیستم عامل دستگاه متصل را تأیید کند (به عنوان مثال، با استفاده از تأیید دستگاه مانند VerifiedBootState ).
  • فقط برنامه‌هایی پخش جریانی کنید که تنها یک حساب منطبق در رجیستری حساب روی دستگاه (به عنوان مثال، AccountManager در Android) در هر دو دستگاه وجود دارد. اگر اینطور نیست، پخش جریانی باید با یک کد یکبار مصرف که در دستگاه منبع نشان داده شده و در دستگاه متصل وارد شود مجاز باشد. توجه داشته باشید که در مورد دستگاه‌هایی که از چند کاربر (و نه چند حساب) با همان ایزوله‌سازی تضمین شده داده مانند چند کاربر اندروید پشتیبانی می‌کنند، یک کاربر به عنوان یک دستگاه حساب می‌شود.
  • اگر اعتبار حساب در دستگاه متصل منقضی شد یا لغو شد، باید پخش جریانی را متوقف کند و فوراً از دستگاه متصل قطع شود.
  • اگر دستگاه مبدأ از فاکتور دانش صفحه قفل (LSKF) استفاده می‌کند، وقتی صفحه قفل است، برنامه نباید برنامه‌ها را به دستگاه متصل پخش کند، مگر اینکه آن دستگاه صفحه قفل داشته باشد و قفل آن باز باشد.
  • اگر دستگاه توسط سرپرست مدیریت می‌شود، برنامه باید به خط‌مشی‌های تنظیم‌شده توسط سرپرست درباره فعال یا غیرفعال کردن پخش جریانی به دستگاه‌های اطراف (مثلاً استفاده از تنظیمات DevicePolicyManager در Android) احترام بگذارد.
  • باید اطمینان حاصل شود که نمایش از راه دور و همه منابع رویدادهای ورودی از راه دور متعلق به یک دستگاه منطقی (مثلاً یک نمایشگر از راه دور و یک صفحه کلید متصل) از دیدگاه کاربر هستند و رویدادها بر این اساس مسیریابی می شوند.
  • کاربر باید بتواند به پخش جریانی از دستگاه محلی پایان دهد، به عنوان مثال، با استفاده از یک دکمه در یک اعلان مداوم. اگر تلفن دارای قفل صفحه تنظیم شده باشد، این رفتار توسط صفحه قفل مشخص می شود.
  • هنگامی که پخش جریانی در دستگاه دیگری انجام می‌شود، مانند نمادی در نوار وضعیت یا یک اعلان دائمی، باید در دستگاه مبدأ هزینه نشان داده شود.