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

در این صفحه به موارد زیر پرداخته شده است:

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

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

وقتی یک ویژگی در برنامه شما درخواست دسترسی به موقعیت مکانی در پس‌زمینه را در دستگاهی که اندروید ۱۰ (سطح API ۲۹) را اجرا می‌کند، می‌دهد، پنجره مجوزهای سیستم شامل گزینه‌ای به نام «اجازه دادن همیشه» می‌شود. اگر کاربر این گزینه را انتخاب کند، ویژگی موجود در برنامه شما به موقعیت مکانی در پس‌زمینه دسترسی پیدا می‌کند.

با این حال، در اندروید ۱۱ (سطح API 30) و بالاتر، گزینه «مجاز بودن برای همه زمان‌ها» در پنجره سیستم وجود ندارد. در عوض، کاربران باید مکان پس‌زمینه را در صفحه تنظیمات فعال کنند، همانطور که در شکل ۷ نشان داده شده است.

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

برنامه اندروید ۱۱ یا بالاتر را هدف قرار می‌دهد

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

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

برنامه اندروید ۱۰ یا پایین‌تر را هدف قرار می‌دهد

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

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

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

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

منابع اضافی

برای اطلاعات بیشتر در مورد مجوزهای موقعیت مکانی در اندروید، مطالب زیر را مشاهده کنید:

کدلبز

ویدیوها

نمونه‌ها