เข้าถึงตำแหน่งในเบื้องหลัง
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ตามที่อธิบายไว้ในหน้าขอสิทธิ์เข้าถึง
ตำแหน่งและแนวทางปฏิบัติ
แนะนำด้านความเป็นส่วนตัว แอปควรขอสิทธิ์เข้าถึงตำแหน่งประเภทที่สำคัญต่อฟีเจอร์ที่แสดงต่อผู้ใช้เท่านั้น และควรเปิดเผยข้อมูลนี้ต่อผู้ใช้อย่างเหมาะสม กรณีการใช้งานส่วนใหญ่จำเป็นต้องใช้ตำแหน่งเมื่อผู้ใช้มีส่วนร่วมกับแอปเท่านั้น หากแอปของคุณจำเป็นต้องใช้ตำแหน่งในเบื้องหลัง เช่น เมื่อใช้ Geofencing โปรดตรวจสอบว่าตำแหน่งดังกล่าวมีความสำคัญต่อฟังก์ชันการทำงานหลักของแอป มอบประโยชน์ที่ชัดเจนแก่ผู้ใช้ และดำเนินการในลักษณะที่ผู้ใช้ทราบ
หมายเหตุ: Google Play Store ได้อัปเดตนโยบายเกี่ยวกับตำแหน่งของอุปกรณ์
โดยจำกัดการเข้าถึงตำแหน่งในพื้นหลังสำหรับแอปที่จำเป็นต้องใช้เพื่อ
ฟังก์ชันหลักและเป็นไปตามข้อกำหนดด้านนโยบายที่เกี่ยวข้อง การนำแนวทางปฏิบัติแนะนำเหล่านี้ไปใช้ไม่ได้รับประกันว่า Google Play จะอนุมัติการใช้งานตำแหน่งในเบื้องหลังของแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนโยบายที่เกี่ยวข้องกับตำแหน่งของอุปกรณ์
รายการตรวจสอบการเข้าถึงตำแหน่งในเบื้องหลัง
ใช้รายการตรวจสอบต่อไปนี้เพื่อระบุตรรกะการเข้าถึงตำแหน่งที่อาจเกิดขึ้นในเบื้องหลัง
ประเมินการเข้าถึงตำแหน่งในเบื้องหลัง
หากพบว่าแอปเข้าถึงตำแหน่งในเบื้องหลัง ให้พิจารณาดำเนินการต่อไปนี้
- ประเมินว่าการเข้าถึงตำแหน่งในเบื้องหลังมีความสำคัญต่อฟังก์ชันหลัก
ของแอปหรือไม่
หากไม่จำเป็นต้องเข้าถึงตำแหน่งในเบื้องหลัง ให้นำออก
หากแอปกำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) ขึ้นไป ให้นำสิทธิ์
ACCESS_BACKGROUND_LOCATION
ออกจากไฟล์ Manifest ของแอป เมื่อนำสิทธิ์นี้ออก ตัวเลือกการเข้าถึงตำแหน่ง "ตลอดเวลา"
จะใช้กับแอปในอุปกรณ์ที่ใช้
Android 10 ไม่ได้
ตรวจสอบว่าผู้ใช้ทราบว่าแอปของคุณเข้าถึงตำแหน่งใน
เบื้องหลัง โดยเฉพาะอย่างยิ่งในกรณีที่ผู้ใช้ไม่ทราบ
หากเป็นไปได้ ให้ปรับโครงสร้างตรรกะ
การเข้าถึงตำแหน่งเพื่อให้
คุณขอตำแหน่งเมื่อผู้ใช้เห็นกิจกรรมของแอปเท่านั้น
การอัปเดตตำแหน่งในเบื้องหลังแบบจำกัด
หากการเข้าถึงตำแหน่งในเบื้องหลังมีความสำคัญต่อแอปของคุณ โปรดทราบว่า Android จะช่วยรักษาอายุการใช้งานแบตเตอรี่ของอุปกรณ์โดยการตั้งค่าขีดจำกัดตำแหน่งในเบื้องหลังในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป ใน Android เวอร์ชันเหล่านี้ หากแอปทำงานในเบื้องหลัง แอปจะรับการอัปเดตตำแหน่งได้เพียงไม่กี่ครั้งต่อชั่วโมง
ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของตำแหน่ง
ในพื้นหลัง
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานตำแหน่งในเบื้องหลังได้จากสื่อต่อไปนี้
วิดีโอ
วิธีค้นหาการใช้งานตำแหน่งในเบื้องหลังที่อาจเกิดขึ้น
ตัวอย่าง
ตัวอย่าง
เพื่อแสดงแนวทางปฏิบัติแนะนำสำหรับการเข้าถึงตำแหน่งเมื่อแอปอยู่ในเบื้องหลัง
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-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-07-27 UTC"],[],[],null,["# Access location in the background\n\nAs described on the [request location\npermissions](/training/location/permissions) and [privacy best\npractices](/privacy/best-practices) pages, apps should only ask for the type of\nlocation permission that's critical to the user-facing feature, and properly\ndisclose this to users. The majority of use cases only require location when the\nuser is engaging with the app. If your app requires background location, such as\nwhen implementing geofencing, make sure that it's critical to the core\nfunctionality of the app, offers clear benefits to the user, and is done in a\nway that's obvious to them. \n**Note:** The Google Play store has updated its policy concerning device\nlocation, restricting background location access to apps that need it for\ntheir core functionality and meet related policy requirements. Adopting these\nbest practices doesn't guarantee Google Play approves your app's usage of\nlocation in the background.\n\nLearn more about the\n[policy\nchanges](https://support.google.com/googleplay/android-developer/answer/9799150) related to device location.\n\nBackground location access checklist\n------------------------------------\n\nUse the following checklist to identify potential location access logic in the\nbackground:\n\n- In your app's manifest, check for the\n [`ACCESS_COARSE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION)\n and the\n [`ACCESS_FINE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_FINE_LOCATION).\n Verify that your app requires these location permissions.\n\n - If your app targets Android 10 (API level 29) or higher, also check for the [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location). Verify that your app has a feature that requires it.\n- Look for use of location access APIs, such as the [Fused Location Provider\n API](https://developers.google.com/location-context/fused-location-provider),\n [Geofencing API](https://developers.google.com/location-context/geofencing), or\n [LocationManager API](/reference/android/location/LocationManager), within your\n code such as in the following constructs:\n\n - [Background services](/training/run-background-service/create-service)\n - [`JobIntentService`](/reference/kotlin/androidx/core/app/JobIntentService) objects\n - [`WorkManager`](/reference/kotlin/androidx/work/WorkManager) or [`JobScheduler`](/reference/kotlin/android/app/job/JobScheduler) tasks\n - [`AlarmManager`](/reference/kotlin/android/app/AlarmManager) operations\n - Pending intents that are invoked from an [app\n widget](/guide/topics/appwidgets)\n- If your app uses an SDK or library that accesses location, this access is\n attributed to your app. To determine whether an SDK or library needs location\n access, consult the library's documentation.\n\nEvaluate background location access\n-----------------------------------\n\nIf you find that your app accesses location in the background, consider taking\nthe following actions:\n\n- Evaluate whether background location access is critical to the core functionality of the app.\n- If you don't need location access in the background, remove it.\n\n If your app targets Android 10 (API level 29) or higher, remove the\n [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location)\n from your app's manifest. When you remove this permission, all-the-time\n access to location isn't an option for the app on devices that run\n Android 10.\n- Make sure the user is aware that your app is accessing location in the\n background. This is especially important for cases that aren't obvious to users.\n\n- If possible, [refactor your location access\n logic](/about/versions/oreo/background-location-limits#tuning-behavior) so that\n you request location only when your app's activity is visible to users.\n\nLimited updates to background location\n--------------------------------------\n\nIf background location access is essential for your app, keep in mind that\nAndroid preserves device battery life by setting *background location\nlimits* on devices that run Android 8.0 (API level 26) and higher. On these\nversions of Android, if your app is running in the background, it can receive\nlocation updates only a few times each hour. Learn more about [background\nlocation limits](/about/versions/oreo/background-location-limits).\n\nAdditional resources\n--------------------\n\nTo learn more about background location usage, view the following materials:\n\n### Videos\n\n[How to find possible background location\nusage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\n### Samples\n\n[Sample](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/bglocationaccess)\nto demonstrate best practices for accessing location when app is in background."]]