شکل ۱. فضای خصوصی را میتوان قفل و باز کرد تا برنامههای حساس روی دستگاه نمایش داده شوند یا پنهان شوند.
فضای خصوصی به کاربران این امکان را میدهد که یک محیط امن و ایزوله در دستگاه خود ایجاد کنند تا برنامههای حساس را از چشمان کنجکاو دور نگه دارند. برنامههای موجود در فضای خصوصی در یک محفظه جداگانه در لانچر نمایش داده میشوند و وقتی فضای خصوصی قفل است، از نمای اخیر، اعلانها، تنظیمات و سایر برنامهها پنهان میشوند.
فضای سندباکس شده یک پروفایل اندروید جداگانه است. وقتی کاربر نهایی برنامهای را در فضای خصوصی اضافه یا نصب میکند، برنامه در این پروفایل اندروید جدید نصب میشود. سیستم این را به عنوان یک نصب جدید برنامه در نظر میگیرد و هیچ دادهای از برنامه در فضای خصوصی کپی نمیشود. وقتی فضا قفل میشود، کاربر پروفایل خصوصی متوقف میشود و وقتی فضا باز میشود، کاربر شروع به کار میکند.
برنامههای موجود در فضای خصوصی به صورت کپیهای جداگانه از برنامههای موجود در فضای اصلی نصب میشوند. محتوای کاربر (تولید شده توسط کاربر یا دانلود شده) و حسابهای کاربری بین فضای خصوصی و فضای اصلی جدا شدهاند. میتوانید از سیستم Sharesheet و Photo Picker استفاده کنید تا به برنامهها اجازه دهید فقط در صورت باز بودن قفل فضای خصوصی، به محتوا در فضاهای مختلف دسترسی داشته باشند.
فضای خصوصی بر اساس مدل چندکاربره اندروید است و نمایه و نوع کاربر زیر را اضافه میکند:
- مشخصات:
- خصوصی
- نوع کاربر:
-
android.os.usertype.profile.PRIVATE
تنظیمات و برنامههای لانچر
شما باید تنظیمات و برنامههای لانچر را برای پشتیبانی از حالتهای قفل، باز کردن قفل و مخفی بهروزرسانی کنید. وقتی فضای خصوصی قفل شده است، لانچر یک نقطه ورود برای باز کردن قفل آن فراهم میکند (به جز در حالت مخفی). وقتی فضای خصوصی قفل شده است، برنامه تنظیمات نباید وجود فضای خصوصی را فاش کند.
برای شناسایی کاربر پروفایل خصوصی LauncherApps#getLauncherUserInfo استفاده کنید. برنامههای لانچر باید حالت قفل شده و حالت قفل نشده را ثبت کنند و هنگام دریافت این اعلانها، وضعیت فضای خصوصی را در رابط کاربری خود تغییر دهند. هر دوی این اعلانها یک ثابت اضافی به نام EXTRA_USER دارند که میتوانید از آن برای ارجاع به کاربر پروفایل خصوصی استفاده کنید.
برنامههای لانچر میتوانند از متد UserManager.isQuietModeEnabled برای بررسی وضعیت پروفایل خصوصی استفاده کنند.
پروفایل خصوصی
پروفایل خصوصی، نوع پروفایل جدید android.os.usertype.profile.PRIVATE را برای استفاده با فضای خصوصی اضافه میکند. پروفایل خصوصی میتواند در همان دستگاهی که پروفایل کاری و پروفایل کلون وجود دارد، وجود داشته باشد. این یک فضای سندباکس جدا از کاربر اصلی اندروید است. وقتی فضای خصوصی قفل میشود، برنامهها در تنظیمات، Sharesheet، photo picker و DocsUI قابل مشاهده میشوند. برنامههای داخل فضای خصوصی وقتی فضای خصوصی قفل است، در هیچ یک از این سطوح نشان داده نمیشوند. فضای خصوصی میتواند فقط یک نمونه در یک دستگاه داشته باشد و فقط برای کاربر اصلی (نه برای کاربران ثانویه یا در پروفایلهای دیگر) وجود دارد.
مجوزها
برنامههای لانچر برای دسترسی به پروفایلهای خصوصی باید مجوز android.permission.ACCESS_HIDDEN_PROFILES و نقش android.app.role.RoleManager.ROLE_HOME را داشته باشند.
پیادهسازیهایی که از لانچر AOSP استفاده نمیکنند، باید لانچر خود را برای افزودن پشتیبانی از پروفایل خصوصی اصلاح کنند. برای اطلاعات بیشتر در مورد توسعه یک برنامه لانچر با فضای خصوصی، به Launcher apps در سایت توسعهدهندگان ما مراجعه کنید.
اهداف
اینتنتهای تلفنی به کاربر اصلی هدایت میشوند و یک اعلان نمایش میدهند. سایر اینتنتها به پروفایل خصوصی محدود میشوند و هدایت نمیشوند.
انتقال فایلها به فضای خصوصی
با شروع از اندروید ۱۶ QPR2، کاربران میتوانند فایلها را از فضای خصوصی خارج به فضای خصوصی منتقل یا کپی کنند. این ویژگی روشی امن و سرراست را برای کاربران فراهم میکند تا اسناد، عکسها و سایر فایلهای حساس را در پروفایل خصوصی سندباکسشده خود نگه دارند.
این فرآیند از طریق یک میانبر جدید برای افزودن فایلها از دکمهی «افزودن» که در کانتینر لانچر فضای خصوصی موجود است، آغاز میشود. وقتی کاربر این گزینه را انتخاب میکند، میتواند با استفاده از انتخابگر فایل سیستم، فایلها را از خارج از فضای خصوصی خود مرور و انتخاب کند. پس از انتخاب فایلها، میتواند آنها را کپی کند و فایلهای اصلی را در جای خود باقی بگذارد یا آنها را منتقل کند که در این صورت فایلهای اصلی پس از انتقال موفقیتآمیز حذف میشوند.
انتقال فایل توسط یک جزء سیستمی جدید مدیریت میشود که به عنوان یک سرویس پیشزمینه فقط در پروفایل خصوصی اجرا میشود و تضمین میکند که این فرآیند ایمن و قابل اعتماد است. فایلها در پوشه Downloads در فضای خصوصی ذخیره میشوند.