ASSISTANT |
حداقل یکی از:
- برنامه فعالیتی دارد که کنشهای کمکی را انجام میدهد، با توجه به
اطلاعات مربوط به بافت کاربر هنگام درخواست کمک
(برای مثال، نام بسته برای برنامه پیشزمینه فعلی و
اطلاعات بافتی آن).
- برنامه دارای سرویس تعامل صوتی همیشه روشن است که با اجازه
android.permission.BIND_VOICE_INTERACTION محدود شده است و میتواند
تشخیص صدا را انجام دهد و میزبان جلسههای تعامل صوتی فعال باشد.
علاوهبراین، برنامه پرچم صریحی دارد که نشان میدهد سرویس قادر به انجام کنش دستیار است.
|
BROWSER |
همه:
- برنامه فعالیتی دارد که برنامهها میتوانند ازطریق درخواستهای هدف ضمنی آن را فراخوانی کنند،
که صفحه وبی را مطابق با نشانی
http:// نمایش میدهد.
- برنامه باید پیمایش بین پیوندها را مدیریت کند. یعنی اگر کاربر درحال مشاهده صفحه وب باشد و روی نشانی
http:// در نوشتار کلیک کند، برنامه باید بتواند محتوای مربوط به پیوند انتخابشده را بدون دخالت بیشتر کاربر نمایش دهد.
- برنامه باید بتواند اطلاعات مکان جغرافیایی فعلی دستگاه را درصورت درخواست و تأیید کاربر، به صفحههای وب ارائه دهد.
|
DIALER |
همه:
- برنامه فعالیتی دارد که برنامهها میتوانند ازطریق درخواستهای هدف ضمنی آن را فراخوانی کنند، که وقتی دستگاه درحال تماس است، میانای کاربر درحال تماس را ارائه میدهد.
- برنامه میتواند هدفهای تماس ورودی را مدیریت کند، اطلاعات مربوط به تماس (برای مثال، شماره تلفن تماسگیرنده) را به کاربر نمایش دهد، و به کاربر اجازه دهد تماس را پاسخ دهد یا رد کند.
- برنامه ابزاری برای برقراری تماس و دیدن سابقه تماسها در دستگاه دراختیار کاربر قرار میدهد.
|
SMS |
همه:
- برنامه همه
الزامات برنامههای پیامک را برآورده میکند.
- برنامه فعالیتی دارد که برنامهها میتوانند ازطریق درخواستهای قصد ضمنی آن را فراخوانی کنند،
که میتواند پیامی به شماره تلفن ارسال کند.
- برنامه سرویسی دارد که با اجازه
android.permission.SEND_RESPOND_VIA_MESSAGE محدود شده است و
با هدفهای ضمنی قابلفراخوانی است، که میتواند پیامهای دریافتی از
برنامه «تلفن» را وقتی کاربر انتخاب میکند درطول تماس ورودی
ازطریق پیام پاسخ دهد، ارسال کند. برنامه میتواند پیامها را ازطریق سیستم پیامرسانی خودش
ارسال کند.
- این برنامه دو گیرنده رویداد ثبتشده دارد، یکی با اجازه
android.permission.BROADCAST_SMS و دیگری با اجازه android.permission.BROADCAST_WAP_PUSH که بهترتیب میتوانند پیامهای متنی پیامک و فراپیام ارسالشده به دستگاه را گوش دهند. سپس برنامه مسئول نوشتن پیامها در ارائهدهنده پیامک و مطلع کردن کاربران است.
|
EMERGENCY |
همه:
- برنامه از نوع
برنامه سیستم
است.
- برنامه فعالیتی دارد که اطلاعات اضطراری کاربر را ارائه میدهد.
هرکسی میتواند ازطریق دکمه «اضطراری» در فعالیت «شمارهگیر اضطراری» به این صفحه پیمایش کند.
|
HOME |
برنامه فعالیتی دارد که وقتی کاربر دکمه صفحه اصلی را فشار میدهد، میتواند صفحه اصلی را راهاندازی کند. صفحه اصلی باید نمادهای برنامه و ابزارهها را نشان دهد و از پیمایش مبتنی بر دکمه یا اشاره (برای مثال، تند کشیدن به بالا برای دیدن همه برنامهها) پشتیبانی کند.
|
CALL_REDIRECTION |
برنامه سرویسی دارد که با اجازه android.permission.BIND_CALL_REDIRECTION_SERVICE محدود شده است و چارچوب مخابراتی میتواند به آن متصل شود. این سرویس شماره تلفن تماس خروجی را از چارچوب مخابراتی دریافت میکند و یکی از اقدامات زیر را انجام میدهد:
- اجازه دهید تماس همانطور که هست برقرار شود.
- شماره خروجی را تغییر دهید تا ازطریق شماره پراکسی هدایت شود.
- لغو تماس.
|
CALL_SCREENING |
برنامه سرویسی دارد که با اجازه android.permission.BIND_SCREENING_SERVICE محدود شده است،
که دو عملکرد را انجام میدهد:
- مسدود کردن و غربالگری تماس: این سرویس میتواند انتخاب کند کدام
تماسها باید به برنامه شمارهگیر در تلفن ارسال شود (و احتمالاً
با درنظر گرفتن «مزاحم نشوید» یا میزان صدا، زنگ بخورد)، و کدام تماسها باید بیصدا به
پست صوتی ارسال شود.
- شناسایی تماس: این سرویس میتواند اطلاعات مربوط به تماس را ازطریق میانای کاربر شناسایی و نمایش دهد.
|
SUPERVISION |
همه:
- برنامه یک
برنامه سیستم
یا سرویس ازپیشنصبشده است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- تنها هدف برنامه این است که کنترلهایی را برای ولی یا قیم قانونی کاربر فعال کند تا دستگاه را مدیریت کند.
- برنامه باید عنصر واسط کاربری در دستگاه ارائه دهد که کاربر مجاز بتواند از آن برای خاموش کردن نقش نظارت استفاده کند.
|
SYSTEM_GALLERY |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- این برنامه واسط کاربریای برای کاربران فراهم میکند تا ویدیوها و تصاویرشان را ذخیره، سازماندهی، و نمایش دهند.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
همه:
- برنامهْ یک
برنامه سیستم
در Automotive است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- این برنامه قابلیت نمایشگر خوشه خودرویی (معمولاً در مجاورت فرمان) را برای کاربران فراهم میکند تا به تماسهای تلفنی پاسخ دهند و به فهرست مخاطبین و گزارشهای تماس دسترسی داشته باشند.
|
COMPANION_DEVICE_WATCH |
برنامه میتواند درخواست کند که با دستگاه ساعت مرتبط شود و آن را مدیریت کند
(بااستفاده از میانای برنامهسازی کاربردی ارائهشده توسط
کلاس CompanionDeviceManager). وقتی ساعت و برنامه ازطریق میانای کاربر ارائهشده توسط برنامه متصل میشوند، کاربران میتوانند ساعتشان را ازطریق برنامه مدیریت کنند، ازجمله همگامسازی مخاطبین و تقویم، و مدیریت اعلانها و تماسهای تلفنی.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- این برنامه امکان پخش محتوای صفحهنمایش تلفن را در نمایشگر داخل خودرو فراهم میکند. این برنامه به رانندگان امکان میدهد بااستفاده از سازوکارهای ورودی خودرو، ازجمله لمس، کنترلهای فرمان، و فرمانهای صوتی، به برنامههای موجود در تلفنهای Android دسترسی داشته باشند و آنها را کنترل کنند، ازجمله موسیقی، پیمایش، تماسهای تلفنی، و جستجو.
|
SYSTEM_SHELL |
همه:
- برنامه از نوع
برنامه سیستم
است که
Process.SHELL_UID UID به آن اختصاص داده شده است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه واسطی ارائه میدهد که در سطح خط فرمان کار میکند
تا کاربران بتوانند با سیستمعامل Android تعامل داشته باشند. برای مثال، نمایش دادن
محتوای پوشه یا راهاندازی برنامهها. دستورات پوسته را میتوان بهصورت برنامهنویسیشده توسط برنامهها (با فرض اینکه مجوزهای لازم اعطا شده باشد) یا ازطریق ابزار ADB اجرا کرد.
|
SYSTEM_CONTACTS |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه واسط کاربریای برای کاربران فراهم میکند تا مخاطبینشان را مدیریت کنند (برای مثال،
مشاهده، همرسانی، افزودن، برداشتن، یا جستجوی مخاطب). وقتی کاربر مخاطبینش را از برنامه بهروز میکند، برنامه ارائهدهنده «مخاطبین» را بهروز میکند. کاربران همچنین میتوانند از برنامه با مخاطبینشان تماس بگیرند، به آنها ایمیل بزنند، یا برایشان پیامک ارسال کنند.
|
SYSTEM_SPEECH_RECOGNIZER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- این برنامه سرویسی ارائه میدهد که میتواند تشخیص گفتار انجام دهد.
- وقتی برنامه جاریسازیهای زنده میکروفون را از برنامه دیگری برای تشخیص گفتار دریافت میکند، بهدرستی استفاده از میکروفون را به برنامه تماسگیرنده نسبت میدهد و آمار عملکرد برنامه را براساس آن بهروز میکند.
|
SYSTEM_WIFI_COEX_MANAGER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه سرویسی دارد که بهطور پویا فهرستی از کانالهای Wi-Fi را تنظیم میکند
که دستگاه نباید بهدلیل تداخل تلفن همراه از آنها استفاده کند.
|
SYSTEM_WELLBEING |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه باید این قابلیت را برای کاربران فراهم کند که حواسپرتی را کاهش دهند
و به کاربران آماری درباره نحوه استفاده از دستگاهشان ارائه دهد (برای
مثال، مدت تماشای صفحه در هفته).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه باید اعلانهای هشدار را به کاربران در دستگاههای تلویزیون نشان دهد. وقتی
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL
ارسال میشود (از SystemUI)، برنامه باید اعلانهای فعال فعلی را نیز
نشان دهد.
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه باید بتواند دستگاههای جانبی را در مجاورت خود شناسایی کند. این برنامه باید واسط کاربریای داشته باشد که کاربر بتواند در آن تأیید کند که دستگاه جانبی خاصی باید با برنامهای مرتبط شود و توسط آن مدیریت شود. وقتی کاربر تأیید میکند، برنامه مدیریتکننده به برنامه مرتبط اجازه میدهد به دستگاه جانبی (برای مثال، نام، نشانی، کلاس، و وضعیت پیوند آن) دسترسی داشته باشد و میتواند فرایند پیوند را شروع کند.
|
SYSTEM_DOCUMENT_MANAGER |
همه:
|
SYSTEM_ACTIVITY_RECOGNIZER |
همه:
|
SYSTEM_UI |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه واسطی دارد که کاربران میتوانند ازطریق آن با تلفنشان تعامل داشته باشند. برای مثال، صفحه اصلی تلفن، پیمایش، برنامههای اخیر، تنظیمات فوری، نوار اعلان، صفحه قفل، کنترل میزان صدا.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
همه:
- برنامه یک
برنامه سیستم
در Android TV است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه سرویسی دارد که میتواند با دستگاه HID کنترل از راه دور تلویزیون ارتباط برقرار کند (برای مثال، ازطریق BLE)، رویدادها را تزریق کند (برای مثال، کلیکهای دکمه)، و دادههای دیگر را به پلاتفرم ارسال کند (برای مثال، جاریسازی صوتی از میکروفون تعبیهشده در کنترل از راه دور).
|
SYSTEM_UI_INTELLIGENCE |
همه:
- سرویس ازپیشنصبشدهای باشد که ازطریق میاناهای برنامهسازی کاربردی چارچوب (میاناهای برنامهسازی کاربردی عمومی یا سیستم)، پردازنده هوشمند دروندستگاهی برای ویژگیهای واسط کاربر سیستم ارائه میدهد (برای مثال، پیشبینی و نمایش برنامههای بعدی برای کاربران).
- این سرویس باید همه الزامات ذکرشده در بخش 9.8.6 Content Capture از «سند تعریف سازگاری Android» را برآورده کند.
- سرویس نمیتواند اجازه
android.permission.INTERNET را داشته باشد. بلکه باید ازطریق میاناهای برنامهسازی کاربردی کاملاً تعریفشده در پروژه متنباز به اینترنت دسترسی داشته باشد.
- این سرویس نمیتواند به برنامهها متصل شود، بهجز برنامههای سیستم زیر:
بلوتوث، مخاطبین، رسانه، تلفن، SystemUI، و مؤلفههایی که
میاناهای برنامهسازی کاربردی اینترنت را ارائه میدهند. هر اتصال مجاز باید بهطور صریح ازطریق پیکربندی
<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 |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- موارد استفاده مجاز:
- جاریسازی، ارسال محتوا، یا قرینهسازی برنامههایی که امکان جاریسازی، ارسال محتوا، یا قرینهسازی از دستگاه Android (مثل تلفن همراه یا رایانه لوحی) به رایانه رومیزی یا رایانه کیفی را فراهم میکنند.
- هنگام برقراری اتصال اولیه از دستگاه الف به دستگاه ب:
- جفتسازی باید با کد یکبارمصرفی که در دستگاه منبع (A) نمایش داده میشود و در دستگاه متصلشده (B) وارد میشود، مجاز شود.
یا اگر هر دو دستگاه حداقل یک حساب منطبق در Android AccountManager خود داشته باشند،
کاربر میتواند با وارد کردن گذرواژه حساب در دستگاه متصلشده (B)،
جفتسازی را تأیید کند.
- هر دو دستگاه باید درطول جفتسازی در مجاورت
۱ یکدیگر باشند.
- هر دو دستگاه باید در مجاورت
۱ یکدیگر باشند تا
جاریسازی انجام شود.
- برنامه میتواند کانالهای ارتباطی با دستگاههای متصل ایجاد و مدیریت کند تا دستگاهها بتوانند دادهها را مبادله کنند. برنامه و دستگاههای متصلشده باید با موفقیت یکدیگر را اصالتسنجی کنند (برای مثال، با اثبات اطلاع از کلیدهای مشترک) تا این کانالهای ارتباطی برقرار شود. کانالهای ارتباطی باید محافظت رمزگذاری سرتاسر داشته باشند.
- برنامه میتواند اعلانها را از دستگاه منبع (A) به دستگاه متصلشده (B) ارسال کند تا کاربر بتواند در دستگاه متصلشده (B) روی اعلانها اقدام کند.
- بتواند فرادادههای لازم برای جاریسازی برنامه را به دستگاه متصلشده (B) جاریسازی کند، مانند فهرست برنامههای موجود در دستگاه منبع (A).
- بتواند برنامهها را از دستگاه مبدأ (A) به دستگاه متصل (B) جاریسازی کند، پساز اینکه کاربر با رضایت صریح (در دستگاه مبدأ (A) یا در دستگاه متصل (B)) تمایل خود را برای انجام این کار نشان داد.
- بتواند رویدادهایی را که در برنامه جاریسازیشده در دستگاه متصلشده (B) اتفاق میافتد،
در دستگاه منبع (A) بازپخش (تزریق) کند. برای مثال، بازپخش رویداد لمسی در دستگاه متصلشده (B) در همان مختصات دستگاه منبع (A)، یا بازپخش رویداد ورودی که در دستگاه متصلشده (B) با همان معناشناسی ورودی دستگاه منبع (A) رخ داده است.
- وقتی برنامه جاریسازیشدهای درحال استفاده از میکروفون است، این برنامه میتواند جاریسازی میکروفون دستگاه منبع را با جاریسازی میکروفون دستگاه متصلشده جایگزین کند.
- برنامه صدا را از دستگاه منبع (A) ضبط میکند و آن را به دستگاه متصل (B) جاریسازی میکند.
- توصیه میشود دسترسی به برنامههای تنظیمات و فروشگاههای برنامه را از دستگاه متصلشده (B) مسدود کنید.
- از Android 16 به بعد، باید از گرفتن نماگرفت و خواندن محتوای حساس از روی صفحهنمایش، مانند
پنجرهها و سطوح امن، در دستگاه متصلشده (B) جلوگیری شود.
- باید یکپارچگی ساخت سیستمعامل دستگاه متصلشده را تأیید کند
(برای مثال، بااستفاده از گواهی دستگاه مانند
VerifiedBootState).
- فقط برنامههایی را جاریسازی کنید که فقط یک حساب منطبق در
ثبت حساب دروندستگاهی (برای مثال،
AccountManager کلاس در Android) در هر دو دستگاه وجود داشته باشد. اگر
اینطور نیست، جاریسازی باید با کد یکبارمصرفی که در دستگاه منبع (A) نشان داده میشود
و در دستگاه متصلشده (B) وارد میشود، مجاز شود.
توجه داشته باشید که در دستگاههایی که از چند کاربر (و نه چند حساب) با همان جداسازی دادههای قابلاعتماد پشتیبانی میکنند، مانند چند کاربر Android، یک کاربر بهعنوان یک دستگاه محسوب میشود.
- اگر اصالتسنجی حساب در دستگاه متصلشده (B) منقضی یا لغو شود، باید فوراً جاریسازی را متوقف کند و اتصالش را با دستگاه متصلشده (B) قطع کند.
- باید جاریسازی را متوقف کند و از دستگاه متصلشده (B)
درصورت اتمام مهلت عدم فعالیت دستگاه متصلشده (B) که محتوای نمایشگر
در آن قابلمشاهده است، قطع شود. ممکن است صفحهنمایش دستگاه متصلشده را برای مواردی مثل WakeLock که صفحهنمایش دستگاه Android را روشن نگه میدارد، روشن نگه دارد. زمان استراحت
باید وجود داشته باشد. اگر دستگاه متصلشده (B) خودش زمان خاموش شدن صفحه در حالت بیکار نداشته باشد، باید از زمان خاموش شدن صفحه در حالت بیکار حداکثر ۵ دقیقهای استفاده شود.
- اگر دستگاه منبع (A) از «عامل دانش صفحه قفل» (LSKF) استفاده میکند، وقتیکه
صفحه قفل است، برنامه نباید برنامهها را در دستگاه متصلشده (B) جاریسازی کند
مگر اینکه دستگاه متصلشده (B) صفحه قفل داشته باشد و قفل آن باز باشد.
- اگر دستگاه منبع (A) توسط سرپرست مدیریت میشود، برنامه باید از خطمشیهای تنظیمشده توسط سرپرست درباره فعال یا غیرفعال کردن جاریسازی در دستگاههای اطراف پیروی کند (برای مثال، بااستفاده از تنظیمات
DevicePolicyManager در Android).
- باید مطمئن شود که نمایشگرهای راه دور و همه منابع رویدادهای ورودی راه دور
از دیدگاه کاربر به یک دستگاه منطقی (برای مثال، نمایشگر راه دور
و صفحهکلید متصل) تعلق دارند و رویدادها
بهطور مناسب هدایت میشوند.
- کاربر باید بتواند جاریسازی را از دستگاه منبع (A) پایان دهد،
برای مثال، بااستفاده از دکمهای در اعلان دائمی. اگر دستگاه مبدأ (A) قفل صفحه داشته باشد، این رفتار توسط صفحه قفل کنترل میشود. باید این امکان دائمی را در دستگاه منبع (A) نشان دهد که همیشه قابلمشاهده و در نیمه بالایی صفحه باشد.
- باید وقتی جاریسازی در دستگاه دیگری درحال انجام است، یک امکان در دستگاه منبع (A) نشان دهد، مثل نمادی در نوار وضعیت یا یک اعلان دائمی.
|
DEVICE_POLICY_MANAGEMENT |
همه:
- فقط سازندگان اصلی محصول میتوانند این نقش را به برنامه اعطا کنند. برنامهها نمیتوانند
این نقش را درخواست کنند زیرا این نقش برای اعطا شدن به نام بسته تعریفشده توسط سازنده اصلی محصول
هنگام ارسال دستگاه درنظر گرفته شده است.
- برنامه باید بتواند نمایه مدیریتشده (مالک نمایه) یا دستگاه مدیریتشده (مالک دستگاه) را تأمین کند، ازجمله بارگیری و نصب «کارخواه خطمشی دستگاه» مناسب برای اینکه درصورت لزوم مالک دستگاه/نمایه باشد.
- برنامه میتواند بهطور اختیاری و پویا
منابع
مانند رشتهها و موارد قابلترسیم را که برای مدیریت خطمشی دستگاه استفاده میشوند بهروز کند.
- برنامه میتواند برنامه سیستمی ازپیش نصبشده باشد یا قبلاز آمادهسازی بارگیری و نصب شود.
- برای موارد آمادهسازی مالک نمایه، وقتی برنامه دارنده نقش در کاربر Android خاصی نصب میشود، باید در همه نمایههای قابلاجرا برای آن کاربر نصب شود.
|
SYSTEM_APP_PROTECTION_SERVICE |
همه:
- برنامه از نوع
برنامه سیستم
است.
- تنها هدف برنامه شناسایی برنامههای بالقوه مضر (برنامههایی که میتوانند کاربران، دادههای کاربر، یا دستگاهها را درمعرض خطر قرار دهند، مانند تروجانها، رمزگیری، و برنامههای جاسوسی) یا نرمافزار ناخواسته تلفن همراه باشد.
- برنامه باید همه الزامات ذکرشده در بخش 9.8.6
سند تعریف سازگاری Android را برآورده کند.
دادههای محیطی و سطح سیستمعامل.
- برنامه نباید اجازه معمولی
android.permission.INTERNET را اعلام کند. درعوض، باید ازطریق میاناهای برنامهسازی کاربردی کاملاً تعریفشده در پروژه متنباز به اینترنت دسترسی داشته باشد.
- برنامه نباید به برنامهها متصل شود، بهجز برنامههای سیستم زیر:
«کنترلکننده اجازه»، و مؤلفههایی که میاناهای برنامهسازی کاربردی «تلفن» و «اینترنت» را ارائه میدهند. هر اتصال مجاز باید بهطور صریح ازطریق پیکربندی
<allow-association> در پیکربندی سیستم تنظیم شود.
- برنامه نباید دادهها را با برنامهها همرسانی کند، مگراینکه کنش مستقیم کاربر وجود داشته باشد (برای مثال، کاربر بهطور صریح هربار که دادهها همرسانی میشود دکمهای را فشار دهد).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- برنامه باید دادههای تقویم را از تلفن iOS یا Android کاربر به دستگاه Android Auto منتقل کند. دستگاه Android Auto باید
این دادههای تقویم را در
ارائهدهنده تقویم ذخیره کند.
- برنامه باید عنصر واسط کاربری در تلفن ارائه دهد که کاربر بتواند از آن برای
روشن کردن همگامسازی تقویم و انتخاب تقویمها برای همگامسازی استفاده کند. برنامه باید
عنصر واسط کاربری در تلفن ارائه دهد که کاربر بتواند از آن برای خاموش کردن
همگامسازی تقویم استفاده کند.
- برنامه باید بدون اتصال اینترنت کار کند. برای مثال،
بااستفاده از اتصالهای سیمی یا بیسیم مستقیم.
|
AUTOMOTIVE_NAVIGATION |
همه:
- برنامه فعالیتی دارد که برنامهها میتوانند ازطریق درخواستهای هدف ضمنی آن را فراخوانی کنند،
که مکان فعلی کاربر و اطراف او را نشان میدهد.
- برنامه فعالیتی دارد که برنامهها میتوانند ازطریق درخواستهای هدف ضمنی آن را فراخوانی کنند،
که به کاربر اجازه میدهد به موقعیت جغرافیایی مشخصی پیمایش کند.
- برنامه فعالیتی دارد که وقتی برنامه تمرکز پیمایش را دراختیار دارد، در مجموعه نشانگرها راهاندازی میشود.
فعالیت باید مکان فعلی کاربر و اطراف او را نشان دهد
و به او اجازه دهد به مکان جغرافیایی مشخصی پیمایش کند.
|
COMPANION_DEVICE_COMPUTER |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- به کاربران امکان میدهد اعلانها را قرینهسازی کنند و به عکسها و رسانههای موجود در
تلفن در رایانه متصلشده دسترسی داشته باشند.
|
SYSTEM_SETTINGS_INTELLIGENCE |
حداقل یکی از:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- سرویسی دارد که ویژگیهای هوشمند برای برنامه «تنظیمات» ارائه میدهد،
مثل پیشنهادها و جستجو.
|
NOTES |
همه:
|
COMPANION_DEVICE_GLASSES |
برنامه میتواند درخواست کند که با دستگاه عینک مرتبط شود و آن را مدیریت کند (بااستفاده از میانای برنامهسازی کاربردی ارائهشده توسط کلاس
CompanionDeviceManager
). وقتی دستگاه عینک و برنامه بااستفاده از میانای کاربر ارائهشده توسط CDM متصل میشوند، کاربران میتوانند با اعطای دسترسی به مخاطبین و اجازه مدیریت اعلانها و تماسهای تلفنی به دستگاه عینک، آن را مدیریت کنند.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
همه:
- برنامه از نوع
برنامه سیستم
است.
- فقط سازندگان اصلی تجهیزات میتوانند این نقش را به برنامه اعطا کنند.
- موارد استفاده مجاز:
- جاریسازی برنامه از دستگاه مجهز به Android مانند تلفن همراه یا رایانه لوحی به خودرو.
- جاریسازی برنامه از دستگاهی با سیستمعامل Android مثل تلفن همراه یا رایانه لوحی به دستگاه XR.
- هنگام برقراری اتصال اولیه از دستگاه الف به دستگاه ب:
- جفتسازی باید با کد یکبارمصرفی که در دستگاه منبع (A) نمایش داده میشود و در دستگاه متصلشده (B) وارد میشود، مجاز شود.
یا اگر هر دو دستگاه حداقل یک حساب منطبق در Android AccountManager خود داشته باشند،
کاربر میتواند با وارد کردن گذرواژه حساب در دستگاه متصلشده (B)،
جفتسازی را تأیید کند.
- هر دو دستگاه باید درطول جفتسازی در مجاورت
۱ یکدیگر باشند.
- هر دو دستگاه باید در مجاورت
۱ یکدیگر باشند تا
جاریسازی انجام شود.
- برنامه میتواند کانالهای ارتباطی با دستگاههای متصل ایجاد و مدیریت کند تا دستگاهها بتوانند دادهها را مبادله کنند. برنامه و دستگاههای متصلشده باید با موفقیت یکدیگر را اصالتسنجی کنند (برای مثال، با اثبات اطلاع از کلیدهای مشترک) تا این کانالهای ارتباطی برقرار شود. کانالهای ارتباطی باید محافظت رمزگذاری سرتاسر داشته باشند.
- برنامه میتواند اعلانها را از دستگاه منبع (A) به دستگاه متصلشده (B) ارسال کند تا کاربر بتواند در دستگاه متصلشده (B) روی اعلانها اقدام کند.
- بتواند فرادادههای لازم برای جاریسازی برنامه را به دستگاه متصلشده (B) جاریسازی کند، مانند فهرست برنامههای موجود در دستگاه منبع (A).
- بتواند برنامهها را از دستگاه مبدأ (A) به دستگاه متصل (B) جاریسازی کند، پساز اینکه کاربر با رضایت صریح (در دستگاه مبدأ (A) یا در دستگاه متصل (B)) تمایل خود را برای انجام این کار نشان داد.
- بتواند رویدادهایی را که در برنامه جاریسازیشده در دستگاه متصلشده (B) اتفاق میافتد،
در دستگاه منبع (A) بازپخش (تزریق) کند. برای مثال، بازپخش رویداد لمسی در دستگاه متصلشده (B) در همان مختصات دستگاه منبع (A)، یا بازپخش رویداد ورودی که در دستگاه متصلشده (B) با همان معناشناسی ورودی دستگاه منبع (A) رخ داده است.
- وقتی برنامه جاریسازیشدهای درحال استفاده از میکروفون است، این برنامه میتواند جاریسازی میکروفون دستگاه منبع را با جاریسازی میکروفون دستگاه متصلشده جایگزین کند.
- برنامه صدا را از دستگاه منبع (A) ضبط میکند و آن را به دستگاه متصل (B) جاریسازی میکند.
- توصیه میشود دسترسی به برنامههای تنظیمات و فروشگاههای برنامه را از دستگاه متصلشده (B) مسدود کنید.
- از Android 16 به بعد، باید از گرفتن نماگرفت و خواندن محتوای حساس از روی صفحه، مثل
پنجرهها و سطوح ایمن، در دستگاه متصلشده (B) جلوگیری شود.
- باید یکپارچگی ساخت سیستمعامل دستگاه متصلشده را تأیید کند
(برای مثال، بااستفاده از گواهی دستگاه مانند
VerifiedBootState).
- فقط برنامههایی را جاریسازی کنید که فقط یک حساب منطبق در
ثبت حساب دروندستگاهی (برای مثال،
AccountManager کلاس در Android) در هر دو دستگاه وجود داشته باشد. اگر
اینطور نیست، جاریسازی باید با کد یکبارمصرفی که در دستگاه منبع (A) نشان داده میشود
و در دستگاه متصلشده (B) وارد میشود، مجاز شود.
توجه داشته باشید که در دستگاههایی که از چند کاربر (و نه چند حساب) با همان جداسازی دادههای قابلاعتماد پشتیبانی میکنند، مانند چند کاربر Android، یک کاربر بهعنوان یک دستگاه محسوب میشود.
- اگر اصالتسنجی حساب در دستگاه متصلشده (B) منقضی یا لغو شود، باید فوراً جاریسازی را متوقف کند و اتصالش را با دستگاه متصلشده (B) قطع کند.
- باید جاریسازی را متوقف کند و از دستگاه متصلشده (B)
درصورت اتمام مهلت عدم فعالیت دستگاه متصلشده (B) که محتوای نمایشگر
در آن قابلمشاهده است، قطع شود. ممکن است صفحهنمایش دستگاه متصلشده را برای مواردی مثل WakeLock که صفحهنمایش دستگاه Android را روشن نگه میدارد، روشن نگه دارد. زمان استراحت
باید وجود داشته باشد. اگر دستگاه متصلشده (B) خودش زمان خاموش شدن صفحه در حالت بیکار نداشته باشد، باید از زمان خاموش شدن صفحه در حالت بیکار حداکثر ۵ دقیقهای استفاده شود.
- اگر دستگاه منبع (A) از «عامل دانش صفحه قفل» (LSKF) استفاده میکند، وقتیکه
صفحه قفل است، برنامه نباید برنامهها را در دستگاه متصلشده (B) جاریسازی کند
مگر اینکه دستگاه متصلشده (B) صفحه قفل داشته باشد و قفل آن باز باشد.
- اگر دستگاه منبع (A) توسط سرپرست مدیریت میشود، برنامه باید از خطمشیهای تنظیمشده توسط سرپرست درباره فعال یا غیرفعال کردن جاریسازی در دستگاههای اطراف پیروی کند (برای مثال، بااستفاده از تنظیمات
DevicePolicyManager در Android).
- باید مطمئن شود که نمایشگرهای راه دور و همه منابع رویدادهای ورودی راه دور
از دیدگاه کاربر به یک دستگاه منطقی (برای مثال، نمایشگر راه دور
و صفحهکلید متصل) تعلق دارند و رویدادها
بهطور مناسب هدایت میشوند.
- کاربر باید بتواند جاریسازی را از دستگاه منبع (A) پایان دهد،
برای مثال، بااستفاده از دکمهای در اعلان دائمی. اگر دستگاه مبدأ (A) قفل صفحه داشته باشد، این رفتار توسط صفحه قفل کنترل میشود. باید این امکان دائمی را در دستگاه منبع (A) نشان دهد که همیشه قابلمشاهده و در نیمه بالایی صفحه باشد.
- باید وقتی جاریسازی در دستگاه دیگری درحال انجام است، یک امکان در دستگاه منبع (A) نشان دهد، مثل نمادی در نوار وضعیت یا یک اعلان دائمی.
|
WALLET |
یکی از:
- برنامه دارای سرویس NFC APDU است که بهطور ایستا حداقل یک
AID در دسته PAYMENT ثبت میکند.
- برنامه نمونهای از
QuickAccessWalletService را پیادهسازی میکند.
|