تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتناول هذه الصفحة ما يلي:
كيفية طلب الإذن برصد الموقع الجغرافي في الخلفية
كيفية التعامل مع الطلب استنادًا إلى إصدار حزمة تطوير البرامج (SDK) المستهدَف لتطبيقك
كيف تؤثر الإعدادات المفضّلة للمستخدمين بشأن الموقع الجغرافي التقريبي في طريقة حصول تطبيقك على بيانات الموقع الجغرافي في الخلفية
الشكل 7. تتضمّن صفحة "الإعدادات" خيارًا باسم
السماح طوال الوقت، يمنح إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية.
تعتمد محتويات مربّع حوار الأذونات على إصدار حزمة SDK المستهدَفة
عندما تطلب إحدى الميزات في تطبيقك الحصول على إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية على جهاز يعمل بالإصدار Android 10 (المستوى 29 من واجهة برمجة التطبيقات)، سيتضمّن مربّع حوار أذونات النظام خيارًا باسم السماح في كل الأوقات. إذا اختار المستخدم هذا الخيار، ستحصل الميزة في تطبيقك على إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية.
في نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لا يتضمّن مربّع حوار النظام خيار السماح طوال الوقت. بدلاً من ذلك، على المستخدمين تفعيل إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية من خلال صفحة الإعدادات، كما هو موضّح في الشكل 7.
يمكنك مساعدة المستخدمين في الانتقال إلى صفحة الإعدادات هذه باتّباع أفضل الممارسات عند طلب إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية. تعتمد عملية منح الإذن على إصدار حزمة تطوير البرامج (SDK) المستهدَف لتطبيقك.
يستهدف التطبيق الإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث
إذا لم يتم منح تطبيقك الإذن ACCESS_BACKGROUND_LOCATION، وكان
shouldShowRequestPermissionRationale() يعرض القيمة true، اعرض واجهة مستخدم تعليمية للمستخدمين تتضمّن ما يلي:
توضيح واضح لسبب حاجة ميزة تطبيقك إلى الوصول إلى بيانات الموقع الجغرافي في الخلفية
التصنيف الظاهر للمستخدم لخيار الإعدادات الذي يمنح إذن الوصول إلى الموقع الجغرافي في الخلفية (على سبيل المثال، السماح طوال الوقت في الشكل 7). يمكنك الاتصال بالرقم getBackgroundPermissionOptionLabel() للحصول على هذا التصنيف. يتم تعديل قيمة العرض لهذه الطريقة لتناسب اللغة المفضّلة على جهاز المستخدم.
خيار للمستخدمين لرفض الإذن إذا رفض المستخدمون منح إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية، يجب أن يتمكّنوا من مواصلة استخدام تطبيقك.
الشكل 8. إشعار يذكّر المستخدم بأنّه منح
أحد التطبيقات إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية.
يستهدف التطبيق الإصدار 10 من نظام التشغيل Android أو الإصدارات الأقدم
عندما تطلب إحدى الميزات في تطبيقك إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية، يظهر للمستخدمين مربّع حوار في نظام التشغيل. يتضمّن مربّع الحوار هذا خيارًا للانتقال إلى خيارات أذونات تحديد الموقع الجغرافي لتطبيقك في صفحة الإعدادات.
طالما أنّ تطبيقك يتّبع أفضل الممارسات لطلب أذونات تحديد الموقع الجغرافي، لن تحتاج إلى إجراء أي تغييرات لدعم هذا السلوك.
يمكن للمستخدم التأثير في دقة الموقع الجغرافي في الخلفية
إذا طلب المستخدم تحديد الموقع الجغرافي التقريبي، تنطبق أيضًا خيارات المستخدم في مربّع الحوار الخاص بأذونات تحديد الموقع الجغرافي على رصد الموقع الجغرافي في الخلفية. بعبارة أخرى، إذا منح المستخدم تطبيقك إذن ACCESS_BACKGROUND_LOCATION ولكنّه منح إذن الوصول إلى الموقع الجغرافي التقريبي فقط أثناء ظهور التطبيق على الشاشة، سيحصل تطبيقك على إذن الوصول إلى الموقع الجغرافي التقريبي في الخلفية أيضًا.
مراجع إضافية
لمزيد من المعلومات حول أذونات تحديد الموقع الجغرافي في Android، يمكنك الاطّلاع على المواد التالية:
تطبيق نموذجي
لتوضيح كيفية استخدام أذونات تحديد الموقع الجغرافي
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["This page discusses the following:\n\n- How to request background location access.\n- How to handle the request based on your app's target SDK version.\n- How user preferences for approximate location affect how your app gets background location.\n\n**Note:** If a feature in your app accesses location from the background, verify that access is necessary. Consider getting the information that the feature needs in other ways. To learn more about background location access, see the [Access location in the background](/training/location/background) page. \n**Figure 7.** Settings page includes an option called **Allow all the time**, which grants background location access.\n\nPermission dialog contents depend on target SDK version\n\nWhen a feature in your app requests background location on a device that runs\nAndroid 10 (API level 29), the system permissions dialog includes an option\nnamed **Allow all the time**. If the user selects this option, the feature in\nyour app gains background location access.\n\nOn Android 11 (API level 30) and higher, however, the system dialog doesn't\ninclude the **Allow all the time** option. Instead, users must enable background\nlocation on a settings page, as shown in figure 7.\n\nYou can help users navigate to this settings page by following best practices\nwhen requesting the background location permission. The process for granting the\npermission depends on your app's target SDK version.\n\nApp targets Android 11 or higher\n\nIf your app hasn't been granted the `ACCESS_BACKGROUND_LOCATION` permission, and\n[`shouldShowRequestPermissionRationale()`](/reference/androidx/core/app/ActivityCompat#shouldShowRequestPermissionRationale(android.app.Activity,%20java.lang.String)) returns `true`, show an\neducational UI to users that includes the following:\n\n- A clear explanation of why your app's feature needs access to background location.\n- The user-visible label of the settings option that grants background location (for example, **Allow all the time** in figure 7). You can call [`getBackgroundPermissionOptionLabel()`](/reference/android/content/pm/PackageManager#getBackgroundPermissionOptionLabel()) to get this label. The return value of this method is localized to the user's device language preference.\n- An option for users to decline the permission. If users decline background location access, they should be able to continue using your app.\n\n**Figure 8.**Notification reminding the user that they've granted background location access to an app.\n\nApp targets Android 10 or lower\n\nWhen a feature in your app requests background location access, users see a\nsystem dialog. This dialog includes an option to navigate to your app's location\npermission options on a settings page.\n\nAs long as your app already follows best practices for requesting location\npermissions, you don't need to make any changes to support this behavior.\n\nUser can affect background location accuracy\n\nIf the [user requests approximate location](/develop/sensors-and-location/location/permissions/runtime#approximate-request), the user's choices in the\nlocation permissions dialog also apply to background location. In other words,\nif the user grants your app the `ACCESS_BACKGROUND_LOCATION` permission but\ngrants only approximate location access in the foreground, your app has only\napproximate location access in the background as well.\n\nAdditional resources\n\nFor more information about location permissions in Android, view the following\nmaterials:\n\nCodelabs\n\n- [Privacy best practices](/codelabs/android-privacy-codelab)\n\nVideos\n\n- [How to find possible background location usage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\nSamples\n\n- [Sample app](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/permission) to demonstrate the use of location permissions."]]