Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Quyền vị trí Tristate

Quyền vị trí Tristate trong Android 10 cho phép người dùng kiểm soát nhiều hơn cách ứng dụng truy cập vào vị trí thiết bị của họ.

Trong Android 9 trở xuống, người dùng đã có những lựa chọn liên tục khi cấp quyền truy cập vị trí cho các ứng dụng. Họ hoặc là có thể từ chối hoặc Allow, thì sau đó đã đưa ra các ứng dụng truy cập vào tất cả các thời gian (foreground và background). Quyền truy cập vị trí Tristate trong Android 10 cung cấp cho người dùng ba tùy chọn để cho phép ứng dụng truy cập vào vị trí của thiết bị. Người dùng được nhắc cấp hoặc từ chối cấp độ quyền khi ứng dụng yêu cầu.

Người dùng thường thấy ba lựa chọn được trình bày trong Hình 1. Tuy nhiên, có những trường hợp sử dụng chỉ yêu cầu hai trong số những tùy chọn này và trong những trường hợp như vậy, chỉ hai lựa chọn đó được hiển thị.

Tristate location permissions screen
Màn hình Hình 1. Tristate thông báo

Đây là ba tùy chọn:

  • Cho phép tất cả các thời gian: vị trí của thiết bị được biết đến ứng dụng ngay cả khi ứng dụng không được sử dụng (chạy ở chế độ nền). Điều này tương đương với việc cho phép quyền trong Android 9 trở xuống.
  • Chỉ cho phép trong khi ứng dụng được sử dụng: (foreground only) vị trí của thiết bị là chỉ hiển thị cho các ứng dụng khi nó tích cực chạy.
  • Deny: vị trí của thiết bị sẽ không thấy được ứng dụng. Điều này cũng giống như việc từ chối quyền trong Android 9 trở xuống.

Người dùng được nhắc cấp quyền truy cập vị trí khi ứng dụng yêu cầu quyền.

Khi một khoản tài trợ sử dụng Cho phép chỉ khi ứng dụng là trong phép truy cập sử dụng, ứng dụng có thể yêu cầu tăng gia tăng trong việc tiếp cận Cho phép tất cả các thời gian. Người dùng thấy một hộp thoại yêu cầu (thể hiện trong hình 2 ). Nếu người sử dụng chọn Giữ trong khi trong sử dụng truy cập, khi ứng dụng truy cập vào vị trí thiết bị trên sử dụng tiếp theo, hộp thoại cung cấp tùy chọn để Giữ và đừng hỏi nữa.

Hộp thoại xuất hiện trong các điều kiện sau cho các ứng dụng nhắm mục tiêu Android 10:

  • Sau ít nhất 24 giờ kể từ khi cấp phép.
  • Chỉ khi ứng dụng đang nhận các vị trí trong nền.
  • Khi màn hình bật và người dùng không sử dụng ứng dụng khác.
Incremental permissions
Quyền Hình 2. Incremental

Để tìm hiểu thêm về yêu cầu quyền, xem truy cập App để vị trí thiết bị . Để biết chi tiết nếu mục tiêu ứng dụng của bạn Android 9 và thấp hơn, xem Tiếp tục hành động do người dùng tạo .

Va chạm

Tính năng cấp quyền vị trí của bộ ba ảnh hưởng đến bất kỳ ứng dụng nào cần quyền truy cập vị trí thiết bị khi đang chạy ở chế độ nền và bắt buộc phải có trong Android 10.

Bạn có thể thay đổi mã của bạn nhưng bạn không thể thay đổi hoặc tùy chỉnh hành vi cho phép liên quan đến trong khuôn khổ.

Thực hiện

Quyền vị trí Tristate được áp dụng cho các ứng dụng trong Android 10 bất kể SDK mục tiêu của ứng dụng là gì.

Để biết thông tin về việc thực hiện các trường hợp sử dụng của ứng dụng (trên nâng cấp), hãy tham khảo những thiết kế dành cho thiết bị kịch bản nâng cấp phần trong tài liệu phát triển.

Để xem làm thế nào để cho phép truy cập đối với trường hợp sử dụng khác nhau (chẳng hạn như đòi hỏi nền truy cập vị trí cho các ứng dụng như Google Maps, dịch vụ Google Play), xem các chủ đề trên truy cập App để vị trí thiết bị trang:

Quyền truy cập vị trí trong ứng dụng

Người dùng có thể thay đổi quyền truy cập của ứng dụng của bạn hoặc là Deny hoặc Chỉ cho phép khi sử dụng các ứng dụng nếu họ lựa chọn. Đối với quyền truy cập vị trí trong ứng dụng và đối với tất cả các ứng dụng của bên thứ nhất và bên thứ ba, hãy cung cấp các mức kiểm soát của người dùng được cung cấp trong bảng sau.

Ứng dụng loại quyền cần yêu cầu Các tùy chọn người dùng cung cấp
Ứng dụng chỉ yêu cầu quyền ở nền trước Chỉ cho phép khi sử dụng ứng dụng
Từ chối
Ứng dụng luôn yêu cầu quyền (nền trước và nền sau) Cho phép mọi lúc
Chỉ cho phép khi sử dụng ứng dụng
Từ chối
Tất cả các ứng dụng có yêu cầu quyền truy cập thông tin vị trí Chỉ cho phép khi sử dụng ứng dụng

Các quyền này áp dụng cho tất cả các yêu cầu vị trí. Apps với Allow nền chỉ khi sử dụng quyền đối với ứng không được phép Wi-Fi hoặc quét di động.

Trên Android 11 hoặc thấp hơn, các ứng dụng với Chỉ cho phép khi sử dụng quyền đối với ứng không được phép quét nền Bluetooth. Từ Android 12, các ứng dụng với Chỉ cho phép khi sử dụng quyền đối với ứng có thể đạt được kết quả quét Bluetooth bằng cách thiết lập giá trị của android:usesPermissionFlags thuộc tính để neverForLocation . Để biết thêm chi tiết, xem App không lấy được vị trí địa lý .

Nâng cấp hệ điều hành

Trên bản nâng cấp hệ điều hành lên Android 10, quyền vị trí ứng dụng dịch theo như sau:

  • Trên trở thành Chỉ cho phép trong khi sử dụng.
  • Tắt vẫn tắt (Deny).
  • Pre-cấp quyền truy cập vị trí trở thành Chỉ cho phép trong khi sử dụng Cấp trước.