مجوزهای موقعیت مکانی Tristate

مجوزهای موقعیت مکانی Tristate در اندروید 10 به کاربران کنترل بیشتری بر نحوه دسترسی برنامه ها به مکان های دستگاهشان می دهد.

در اندروید 9 و نسخه‌های پایین‌تر، کاربران هنگام اعطای دسترسی موقعیت مکانی به برنامه‌ها، انتخاب‌های مداومی داشتند. آن‌ها می‌توانند رد یا اجازه دهند، که به برنامه‌ها اجازه می‌دهد همیشه (پیش‌زمینه و پس‌زمینه) دسترسی داشته باشند. مجوزهای موقعیت مکانی Tristate در اندروید 10 سه گزینه را در اختیار کاربران قرار می دهد تا به یک برنامه اجازه دسترسی به مکان دستگاه را بدهند. هنگامی که یک برنامه درخواست می کند، از کاربران خواسته می شود تا سطح مجوز را اعطا یا رد کنند.

یک کاربر معمولاً سه گزینه ارائه شده در شکل 1 را می بیند. با این حال، موارد استفاده وجود دارد که تنها دو مورد از این گزینه ها مورد نیاز است، و در چنین مواردی فقط آن دو نشان داده شده است.

Tristate location permissions screen
شکل 1. صفحه اعلانات Tristate

این سه گزینه هستند:

  • همیشه مجاز باشد : مکان دستگاه برای برنامه مشخص است حتی زمانی که برنامه در حال استفاده نیست (در پس‌زمینه اجرا می‌شود). این معادل اجازه دادن به مجوز در اندروید 9 و پایین تر است.
  • فقط زمانی که برنامه در حال استفاده است مجاز باشد : (فقط پیش‌زمینه) مکان دستگاه فقط زمانی برای برنامه قابل مشاهده است که به طور فعال در حال اجرا باشد.
  • انکار : مکان دستگاه هرگز برای برنامه قابل مشاهده نیست. این همان رد کردن مجوز در اندروید 9 و پایین تر است.

هنگامی که برنامه‌ها مجوز را درخواست می‌کنند، از کاربران خواسته می‌شود مجوز دسترسی به موقعیت مکانی را اعطا کنند.

هنگامی که کاربر اجازه دسترسی را فقط در زمانی که برنامه در حال استفاده است اعطا می کند، یک برنامه می تواند دائماً درخواست افزایش تدریجی دسترسی به Allow کند . کاربر یک گفتگوی درخواست را می بیند (نشان داده شده در شکل 2 ). اگر کاربر Keep در حین استفاده را انتخاب کند، وقتی برنامه در استفاده بعدی به موقعیت مکانی دستگاه دسترسی پیدا می‌کند، کادر گفتگو گزینه Keep and don't ask again را ارائه می‌کند.

برای برنامه‌هایی که اندروید 10 را هدف قرار می‌دهند، کادر گفتگو تحت این شرایط ظاهر می‌شود:

  • پس از حداقل 24 ساعت از اعطای مجوز.
  • فقط در صورتی که برنامه مکان‌هایی را در پس‌زمینه دریافت کند.
  • وقتی صفحه نمایش روشن است و کاربر از برنامه دیگری استفاده نمی کند.
Incremental permissions
شکل 2. مجوزهای افزایشی

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

تأثیر

ویژگی مجوزهای موقعیت مکانی سه‌ایالتی بر هر برنامه‌ای که نیاز به دسترسی به موقعیت مکانی دستگاه هنگام اجرا در پس‌زمینه دارد، تأثیر می‌گذارد و در Android 10 مورد نیاز است.

می‌توانید کد خود را تغییر دهید، اما نمی‌توانید رفتار مرتبط با مجوز را در چارچوب تغییر دهید یا سفارشی کنید.

پیاده سازی

مجوزهای مکان Tristate برای برنامه‌های اندروید 10 صرف نظر از SDK هدف برنامه اعمال می‌شود.

برای اطلاعات در مورد اجرای موارد استفاده برنامه خود (در مورد ارتقاء)، به بخش سناریوهای طراحی برای ارتقای دستگاه در مستندات توسعه دهنده مراجعه کنید.

برای مشاهده نحوه فعال کردن دسترسی برای موارد استفاده مختلف (مانند نیاز به دسترسی به موقعیت مکانی پس‌زمینه برای برنامه‌هایی مانند Google Maps یا خدمات Google Play)، این موضوعات را در صفحه دسترسی برنامه به مکان دستگاه مشاهده کنید:

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

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

برنامه نوع مجوز باید درخواست کند گزینه های کاربر برای ارائه
برنامه فقط مجوزهای پیش زمینه را درخواست می کند فقط هنگام استفاده از برنامه مجاز است
انکار
برنامه همیشه مجوز درخواست می کند (پیش زمینه و پس زمینه) همیشه اجازه دهید
فقط هنگام استفاده از برنامه مجاز است
انکار
همه برنامه‌های دارای درخواست دسترسی به مکان فقط هنگام استفاده از برنامه مجاز است

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

در Android 11 یا پایین‌تر، برنامه‌های دارای Allow only در حین استفاده از مجوزهای برنامه ، اسکن بلوتوث پس‌زمینه مجاز نیستند. از Android 12، برنامه‌های دارای Allow only در حین استفاده از مجوزهای برنامه، می‌توانند با تنظیم مقدار ویژگی android:usesPermissionFlags روی neverForLocation ، نتایج اسکن بلوتوث را دریافت کنند. برای جزئیات بیشتر، نگاه کنید به برنامه مکان فیزیکی را استخراج نمی کند .

ارتقاء سیستم عامل

در ارتقاء سیستم عامل به Android 10، مجوزهای مکان برنامه بر اساس موارد زیر ترجمه می شوند:

  • روشن تبدیل به Allow only در حین استفاده می شود.
  • خاموش باقی می ماند خاموش ( انکار ).
  • دسترسی به موقعیت مکانی که از قبل اعطا شده است، پیش از اعطای مجوز فقط در حین استفاده می شود.