این صفحه در مورد موارد زیر بحث می کند:
- نحوه درخواست دسترسی به موقعیت مکانی پس زمینه
- نحوه رسیدگی به درخواست بر اساس نسخه SDK هدف برنامه شما.
- اینکه چگونه تنظیمات برگزیده کاربر برای مکان تقریبی بر نحوه دریافت مکان پسزمینه برنامه شما تأثیر میگذارد.
محتویات گفتگوی مجوز به نسخه SDK هدف بستگی دارد
هنگامی که یک ویژگی در برنامه شما مکان پسزمینه را در دستگاهی که Android 10 اجرا میکند (سطح API 29) درخواست میکند، کادر گفتگوی مجوزهای سیستم شامل گزینهای به نام Allow all time است. اگر کاربر این گزینه را انتخاب کند، ویژگی در برنامه شما به موقعیت مکانی پسزمینه دسترسی پیدا میکند.
با این حال، در اندروید 11 (سطح API 30) و بالاتر، کادر گفتگوی سیستم شامل گزینه Allow all time نیست. در عوض، کاربران باید موقعیت پسزمینه را در صفحه تنظیمات فعال کنند، همانطور که در شکل 7 نشان داده شده است.
میتوانید با پیروی از بهترین روشها هنگام درخواست مجوز موقعیت مکانی پسزمینه، به کاربران کمک کنید به این صفحه تنظیمات حرکت کنند. روند اعطای مجوز به نسخه SDK هدف برنامه شما بستگی دارد.
برنامه اندروید 11 یا بالاتر را هدف قرار می دهد
اگر به برنامه شما مجوز ACCESS_BACKGROUND_LOCATION
اعطا نشده است و shouldShowRequestPermissionRationale()
true
را برگرداند، یک رابط کاربری آموزشی به کاربران نشان دهید که شامل موارد زیر است:
- توضیح واضح در مورد اینکه چرا ویژگی برنامه شما نیاز به دسترسی به موقعیت مکانی پس زمینه دارد.
- برچسب قابل مشاهده توسط کاربر گزینه تنظیمات که موقعیت پسزمینه را اعطا میکند (به عنوان مثال، Allow all time در شکل 7). برای دریافت این برچسب می توانید
getBackgroundPermissionOptionLabel()
فراخوانی کنید. مقدار بازگشتی این روش به ترجیح زبان دستگاه کاربر محلی سازی شده است. - گزینه ای برای کاربران برای رد کردن مجوز. اگر کاربران دسترسی به موقعیت مکانی پسزمینه را رد کنند، باید بتوانند به استفاده از برنامه شما ادامه دهند.
برنامه اندروید 10 یا پایینتر را هدف قرار میدهد
وقتی یک ویژگی در برنامه شما درخواست دسترسی به موقعیت مکانی پسزمینه را میدهد، کاربران یک گفتگوی سیستم را میبینند. این گفتگو شامل گزینه ای برای پیمایش به گزینه های مجوز مکان برنامه شما در صفحه تنظیمات است.
تا زمانی که برنامه شما در حال حاضر از بهترین شیوه ها برای درخواست مجوزهای مکان پیروی می کند، نیازی به ایجاد هیچ تغییری برای پشتیبانی از این رفتار ندارید.
کاربر می تواند بر دقت موقعیت مکانی پس زمینه تأثیر بگذارد
اگر کاربر مکان تقریبی را درخواست کند ، انتخابهای کاربر در گفتگوی مجوزهای مکان برای مکان پسزمینه نیز اعمال میشود. به عبارت دیگر، اگر کاربر مجوز ACCESS_BACKGROUND_LOCATION
را به برنامه شما اعطا کند اما فقط به موقعیت مکانی تقریبی در پیش زمینه دسترسی داشته باشد، برنامه شما فقط به موقعیت مکانی تقریبی در پس زمینه نیز دسترسی دارد.
منابع اضافی
برای اطلاعات بیشتر در مورد مجوزهای مکان در Android، مطالب زیر را مشاهده کنید:
Codelabs
ویدیوها
نمونه ها
- نمونه برنامه برای نشان دادن استفاده از مجوزهای مکان.