קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה נסביר את הנושאים הבאים:
איך לבקש גישה למיקום ברקע.
איך לטפל בבקשה בהתאם לגרסת ה-SDK לטירגוט של האפליקציה.
איך ההעדפות של המשתמשים לגבי מיקום משוער משפיעות על האופן שבו האפליקציה שלכם מקבלת מיקום ברקע.
איור 7. בדף ההגדרות יש אפשרות שנקראת מותר, כל הזמן, שמעניקה גישה למיקום ברקע.
תוכן תיבת הדו-שיח של ההרשאות תלוי בגרסת היעד של ה-SDK
כשמשתמש מפעיל תכונה באפליקציה שמבקשת גישה למיקום ברקע במכשיר עם Android 10 (רמת API 29), בתיבת הדו-שיח של הרשאות המערכת מופיעה האפשרות כן, כל הזמן. אם המשתמש בוחר באפשרות הזו, התכונה באפליקציה מקבלת גישה למיקום ברקע.
עם זאת, ב-Android מגרסה 11 (רמת API 30) ואילך, תיבת הדו-שיח של המערכת לא כוללת את האפשרות מותר כל הזמן. במקום זאת, המשתמשים צריכים להפעיל את האפשרות 'מיקום ברקע' בדף ההגדרות, כמו שמוצג באיור 7.
כדי לעזור למשתמשים להגיע לדף ההגדרות הזה, מומלץ לפעול לפי השיטות המומלצות כשמבקשים הרשאה לגישה למיקום ברקע. התהליך למתן ההרשאה תלוי בגרסת ה-SDK שהאפליקציה מיועדת אליה.
האפליקציה מטרגטת ל-Android מגרסה 11 ואילך
אם לאפליקציה שלכם לא הוענקה ההרשאה ACCESS_BACKGROUND_LOCATION, והפונקציה shouldShowRequestPermissionRationale() מחזירה את הערך true, עליכם להציג למשתמשים ממשק משתמש עם הסבר שכולל את הפרטים הבאים:
הסבר ברור למה התכונה באפליקציה שלך צריכה גישה למיקום ברקע.
התווית שמוצגת למשתמש של אפשרות ההגדרה שמעניקה גישה למיקום ברקע (לדוגמה, מותר, כל הזמן באיור 7). אפשר להתקשר למספר getBackgroundPermissionOptionLabel() כדי לקבל את התווית הזו. ערך ההחזרה של השיטה הזו מתורגם לשפה המועדפת במכשיר של המשתמש.
אפשרות למשתמשים לדחות את ההרשאה. אם משתמשים מסרבים לתת גישה למיקום ברקע, הם צריכים להיות מסוגלים להמשיך להשתמש באפליקציה.
איור 8. התראה שמזכירה למשתמש שהוא העניק לאפליקציה גישה למיקום ברקע.
האפליקציה מטרגטת ל-Android מגרסה 10 ומטה
כשמשתמשים מפעילים תכונה באפליקציה שמבקשת גישה למיקום ברקע, מוצגת להם תיבת דו-שיח של המערכת. בתיבת הדו-שיח הזו יש אפשרות לעבור לאפשרויות של הרשאת המיקום של האפליקציה בדף ההגדרות.
אם האפליקציה שלכם כבר פועלת בהתאם לשיטות המומלצות לבקשת הרשאות גישה למיקום, לא צריך לבצע שינויים כדי לתמוך בהתנהגות הזו.
המשתמש יכול להשפיע על הדיוק של המיקום ברקע
אם המשתמש מבקש מיקום משוער, הבחירות של המשתמש בתיבת הדו-שיח של הרשאות המיקום חלות גם על מיקום ברקע. במילים אחרות, אם המשתמש מעניק לאפליקציה שלכם את ההרשאה ACCESS_BACKGROUND_LOCATION אבל מעניק גישה רק למיקום משוער בחזית, לאפליקציה שלכם תהיה גישה רק למיקום משוער גם ברקע.
מקורות מידע נוספים
מידע נוסף על הרשאות מיקום ב-Android זמין במקורות הבאים:
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-08-27 (שעון UTC)."],[],[],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."]]