درخواست مکان پس‌زمینه‌ای

این صفحه موارد زیر را توضیح می‌دهد:

  • نحوه درخواست دسترسی به مکان در پس‌زمینه.
  • نحوه رسیدگی به درخواست براساس نسخه کیت توسعه نرم‌افزار هدف برنامه‌تان.
  • چگونه اولویت‌های کاربر برای مکان تقریبی بر نحوه دریافت مکان پس‌زمینه‌ای توسط برنامه شما تأثیر می‌گذارد.
شکل ۷. صفحه تنظیمات شامل گزینه‌ای به‌نام همیشه اجازه داشتن است که دسترسی به مکان پس‌زمینه‌ای را اعطا می‌کند.

محتوای کادر گفتگوی اجازه به نسخه کیت توسعه نرم‌افزار هدف بستگی دارد

وقتی ویژگی‌ای در برنامه‌تان در دستگاهی که Android 10 (سطح API‏ ۲۹) را اجرا می‌کند درخواست مکان پس‌زمینه‌ای می‌کند، کادر گفتگوی اجازه‌های سیستم شامل گزینه‌ای به‌نام همیشه مجاز باشد است. اگر کاربر این گزینه را انتخاب کند، ویژگی موجود در برنامه شما به مکان پس‌زمینه‌ای دسترسی پیدا می‌کند.

اما در Android 11 (سطح میانای برنامه‌سازی کاربردی ۳۰) و بالاتر، کادر گفتگوی سیستم شامل گزینه همیشه مجاز باشد نیست. درعوض، کاربران باید مکان پس‌زمینه‌ای را در صفحه تنظیمات فعال کنند، همان‌طور که در شکل ۷ نشان داده شده است.

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

برنامه Android 11 یا بالاتر را هدف قرار می‌دهد

اگر اجازه ACCESS_BACKGROUND_LOCATION به برنامه‌تان اعطا نشده است و shouldShowRequestPermissionRationale() مقدار true را برمی‌گرداند، رابط کاربری آموزشی‌ای به کاربران نشان دهید که شامل موارد زیر باشد:

  • توضیح واضحی درباره اینکه چرا ویژگی برنامه‌تان به دسترسی به مکان پس‌زمینه‌ای نیاز دارد.
  • برچسب رؤیت‌پذیر برای کاربر در گزینه تنظیمات که مکان پس‌زمینه‌ای را اعطا می‌کند (برای مثال، همیشه اجازه داشته باشد در شکل ۷). برای دریافت این برچسب، می‌توانید با getBackgroundPermissionOptionLabel() تماس بگیرید. مقدار برگشتی این روش با اولویت زبان دستگاه کاربر بومی‌سازی می‌شود.
  • گزینه‌ای برای کاربران برای رد کردن اجازه. اگر کاربران دسترسی به مکان پس‌زمینه‌ای را رد کنند، باید بتوانند به استفاده از برنامه‌تان ادامه دهند.
کاربران می‌توانند روی اعلان سیستم ضربه بزنند تا تنظیمات مکان را برای برنامه تغییر دهند
شکل ۸. اعلان یادآوری به کاربر مبنی بر اینکه به برنامه‌ای اجازه دسترسی به مکان در پس‌زمینه داده است.

برنامه Android 10 یا پایین‌تر را هدف قرار می‌دهد

وقتی ویژگی‌ای در برنامه‌تان دسترسی به مکان در پس‌زمینه را درخواست می‌کند، کاربران کادر گفتگوی سیستم را می‌بینند. این کادر گفتگو شامل گزینه‌ای برای پیمایش به گزینه‌های اجازه مکان برنامه شما در صفحه تنظیمات است.

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

کاربر می‌تواند بر دقت مکان پس‌زمینه‌ای تأثیر بگذارد

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

منابع بیشتر

برای کسب اطلاعات بیشتر درباره اجازه‌های مکان در Android، مطالب زیر را مشاهده کنید:

Codelabs

ویدیوها

نمونه‌ها