Như đã mô tả trên các trang về yêu cầu quyền truy cập thông tin vị trí và các phương pháp hay nhất về quyền riêng tư, ứng dụng chỉ nên yêu cầu loại quyền truy cập vị trí quan trọng đối với tính năng người dùng trực tiếp sử dụng và cần tiết lộ về điều này cho người dùng theo cách phù hợp. Phần lớn trường hợp sử dụng chỉ yêu cầu thông tin vị trí khi người dùng đang sử dụng ứng dụng. Nếu ứng dụng yêu cầu quyền truy cập thông tin vị trí ở chế độ nền (chẳng hạn như khi triển khai tính năng khoanh vùng địa lý), hãy đảm bảo rằng tính năng này quan trọng đối với chức năng cốt lõi của ứng dụng, mang lại lợi ích rõ ràng cho người dùng và được thực hiện theo cách rõ ràng.
Lưu ý: Cửa hàng Google Play đã cập nhật chính sách liên quan đến vị trí của thiết bị, chỉ cấp quyền truy cập thông tin vị trí ở chế độ nền cho các ứng dụng cần quyền này để thực hiện chức năng cốt lõi và đáp ứng các yêu cầu liên quan của chính sách. Việc áp dụng các phương pháp hay nhất này không đảm bảo rằng Google Play sẽ phê duyệt cách ứng dụng sử dụng vị trí ở chế độ nền.
Tìm hiểu thêm về những thay đổi về chính sách liên quan đến vị trí của thiết bị.
Danh sách kiểm tra quyền truy cập vị trí ở chế độ nền
Sử dụng danh sách kiểm tra sau đây để xác định logic truy cập thông tin vị trí tiềm năng ở chế độ nền:
Trong tệp kê khai của ứng dụng, hãy kiểm tra quyền
ACCESS_COARSE_LOCATION
và quyềnACCESS_FINE_LOCATION
. Xác định rằng ứng dụng yêu cầu các quyền về vị trí này.- Nếu ứng dụng của bạn dành cho Android 10 (API cấp 29) trở lên, hãy kiểm tra quyền
ACCESS_BACKGROUND_LOCATION
. Xác định rằng ứng dụng có tính năng yêu cầu quyền này.
- Nếu ứng dụng của bạn dành cho Android 10 (API cấp 29) trở lên, hãy kiểm tra quyền
Tìm kiếm trường hợp sử dụng các API quyền truy cập thông tin vị trí, chẳng hạn như API trình cung cấp vị trí kết hợp, API khoanh vùng địa lý hoặc API LocationManager trong mã, chẳng hạn như trong các cấu trúc sau:
- Dịch vụ nền
- Đối tượng
JobIntentService
- Tác vụ
WorkManager
hoặcJobScheduler
- Hoạt động
AlarmManager
- Các ý định đang chờ xử lý được gọi từ một tiện ích của ứng dụng
Nếu ứng dụng sử dụng SDK hoặc thư viện truy cập thông tin vị trí, thì quyền truy cập này sẽ được ghi nhận cho ứng dụng. Để xác định xem SDK hoặc thư viện có cần quyền truy cập thông tin vị trí hay không, hãy tham khảo tài liệu về thư viện.
Đánh giá quyền truy cập thông tin vị trí ở chế độ nền
Nếu bạn thấy rằng ứng dụng truy cập thông tin vị trí ở chế độ nền, hãy cân nhắc thực hiện những hành động sau:
- Đánh giá xem quyền truy cập thông tin vị trí ở chế độ nền có quan trọng đối với chức năng cốt lõi của ứng dụng hay không.
Nếu bạn không cần quyền truy cập vị trí ở chế độ nền, hãy xoá quyền truy cập vị trí ở chế độ nền.
Nếu ứng dụng của bạn dành cho Android 10 (API cấp 29) trở lên, hãy xoá quyền
ACCESS_BACKGROUND_LOCATION
khỏi tệp kê khai ứng dụng. Khi xoá quyền này, bạn sẽ xoá tuỳ chọn quyền truy cập vào thông tin vị trí mọi lúc cho ứng dụng trên các thiết bị chạy Android 10.Hãy đảm bảo người dùng biết rằng ứng dụng đang truy cập thông tin vị trí ở chế độ nền. Điều này đặc biệt quan trọng đối với các trường hợp không rõ ràng đối với người dùng.
Nếu có thể, hãy tái cấu trúc logic quyền truy cập thông tin vị trí để chỉ yêu cầu thông tin vị trí khi người dùng nhìn thấy hoạt động của ứng dụng.
Việc cập nhật vị trí ở chế độ nền bị hạn chế
Nếu ứng dụng cần quyền truy cập thông tin vị trí ở chế độ nền, hãy lưu ý rằng Android bảo toàn thời lượng pin cho thiết bị bằng cách đặt giới hạn về quyền truy cập thông tin vị trí ở chế độ nền trên các thiết bị chạy Android 8.0 (API cấp 26) trở lên. Trên các phiên bản Android này, nếu đang chạy ở chế độ nền thì ứng dụng chỉ có thể nhận được thông tin cập nhật vị trí vài lần mỗi giờ. Tìm hiểu thêm về giới hạn về quyền truy cập thông tin vị trí ở chế độ nền.
Tài nguyên khác
Để tìm hiểu thêm về cách sử dụng quyền truy cập vị trí ở chế độ nền, hãy xem các tài liệu sau:
Video
Cách tìm trường hợp có thể sử dụng quyền truy cập thông tin vị trí ở chế độ nền
Mẫu
Mẫu minh hoạ các phương pháp hay nhất để truy cập thông tin vị trí khi ứng dụng chạy ở chế độ nền.