Chỉ báo về quyền riêng tư

Android cung cấp cho người dùng sự minh bạch bằng cách hiển thị chỉ báo quyền riêng tư cho các loại quyền truy cập sau:

Người dùng nhấn vào một chỉ báo để xem những ứng dụng nào đã truy cập vào dữ liệu của họ.

Hoạt động sử dụng đang diễn ra và gần đây

Giao diện người dùng Android phân biệt giữa hoạt động sử dụng đang diễn ra và hoạt động sử dụng gần đây:

  • Trong Android 17 trở lên, hoạt động sử dụng thông tin vị trí được coi là đang diễn ra nếu hệ thống đánh dấu là đang chạy hoặc đã diễn ra chưa đến 10 giây. Đối với dấu chấm vị trí, quyền truy cập được coi là đang diễn ra nếu ứng dụng không phải của hệ thống đang chạy ở trạng thái nền trước.

  • Trong Android 12 trở lên, hoạt động sử dụng micrô và máy ảnh được coi là đang diễn ra nếu hệ thống đánh dấu là đang chạy hoặc đã diễn ra chưa đến 5 giây.

Biểu tượng trên thanh trạng thái xuất hiện mỗi khi một ứng dụng có quyền truy cập liên tục vào micrô, máy ảnh hoặc thông tin vị trí nhạy cảm của người dùng. Người dùng có thể nhấn vào các biểu tượng này và xem những ứng dụng nào đang truy cập vào micrô, máy ảnh, thông tin vị trí hoặc kết hợp các mục này. Sau đây là ví dụ về các chỉ báo đang được sử dụng:

Chỉ báo cho biết trạng thái truy cập đang hoạt động

Hình 1. Các chỉ báo đang được sử dụng cho thấy quyền truy cập đang diễn ra (góc trên cùng bên phải).

Quyền truy cập được coi là đang diễn ra trong thời gian chỉ báo xuất hiện. Biểu tượng sẽ xuất hiện trước, sau đó chuyển thành dấu chấm duy trì cho đến khi ứng dụng bị loại bỏ hoặc đóng. Khi người dùng mở trình đơn Cài đặt nhanh rồi nhấn vào các chỉ báo, một hộp thoại sẽ xuất hiện cho biết ứng dụng có đang sử dụng micrô, máy ảnh, thông tin vị trí hay kết hợp các mục này hay không.

Hình 2 minh hoạ các chỉ báo quyền truy cập đang diễn ra khi dữ liệu đã được truy cập trong khoảng thời gian đang diễn ra bởi một ứng dụng đang chạy.

Chỉ báo cho hoạt động truy cập và nguồn gần đây và đang hoạt động

Hình 2. Các chỉ báo quyền truy cập đang diễn ra và gần đây.

Các chỉ báo quyền truy cập gần đây cho biết một ứng dụng đã truy cập vào dữ liệu trong 15 giây trước đó (hoặc 20 giây đối với dữ liệu vị trí), nhưng ứng dụng đó không hoạt động. Tất cả các ứng dụng đang hoạt động đều xuất hiện trong hộp thoại, nhưng chỉ có một ứng dụng xuất hiện dưới dạng nguồn truy cập gần đây, ngay cả khi có nhiều ứng dụng truy cập vào dữ liệu trong khoảng thời gian 15 hoặc 20 giây trước đó. Tất cả các ứng dụng đã truy cập vào dữ liệu vị trí trong khoảng thời gian đang diễn ra hoặc gần đây đều xuất hiện trong hộp thoại. Chế độ xem quyền truy cập vẫn duy trì cho đến khi người dùng loại bỏ hộp thoại thông báo.

Phân phối và bật

Lớp PermissionManager cung cấp một phương thức để điền sẵn hộp thoại (nằm trong Giao diện người dùng hệ thống). Giao diện người dùng hệ thống phản ứng với công tắc cấu hình thiết bị privacy/mic_camera_indicators_enabled; công tắc này là cần thiết vì có 2 phương thức phân phối riêng biệt: (1) Phân phối, sau đó (2) Bật.

Quy trình xử lý

Chức năng Chỉ báo quyền có 3 phần chính:

  • Các ứng dụng
  • Các chỉ báo (do Giao diện người dùng hệ thống xử lý)
  • Cách xác định những ứng dụng nào đang sử dụng dữ liệu

PermissionController cung cấp cơ chế để xác định những ứng dụng nào đang sử dụng dữ liệu. Giao diện người dùng hệ thống theo dõi các ứng dụng sử dụng dữ liệu riêng tư. Giao diện người dùng hệ thống hiển thị một biểu tượng trong thanh điều hướng ở trên cùng tương ứng với các quyền được sử dụng. PermissionController hiển thị dữ liệu về hoạt động sử dụng khi người dùng nhấp vào một biểu tượng.

Quy trình xử lý cho các chức năng của Chỉ báo quyền

Hình 3. Các thành phần hệ thống và quy trình chuyển đổi (giao diện người dùng).

  • 1 Một ứng dụng yêu cầu dữ liệu riêng tư từ hệ thống.

  • 2 Hệ thống kiểm tra các quyền. Nếu các quyền được cho phép, hệ thống sẽ thông báo cho nhà cung cấp dữ liệu và ghi chú hoạt động sử dụng trong hoạt động của ứng dụng.

  • 3 Nhà cung cấp dữ liệu cung cấp dữ liệu cho ứng dụng.

  • 4-5 Người dùng nhấp vào các biểu tượng. Giao diện người dùng hệ thống yêu cầu dữ liệu từ PermissionManager và trình bày hộp thoại cho người dùng.

Thông tin chi tiết về quy trình

Hoạt động của ứng dụng ghi lại quyền truy cập vào các API được bảo vệ bằng quyền trong thời gian chạy, theo dõi trạng thái hoạt động và số lượng lệnh gọi API riêng lẻ, đồng thời tương tác với máy ảnh, micrô và các chỉ báo để cho người dùng biết khi nào các ứng dụng đã truy cập vào dữ liệu âm thanh và máy ảnh trên thiết bị của họ.

  1. Các ứng dụng sử dụng micrô, máy ảnh hoặc thông tin vị trí bằng cách gọi AppOpsManager.startOp, stopOp hoặc noteOp. Thao tác này sẽ tạo các bản ghi hoạt động của ứng dụng trong máy chủ hệ thống. Trong Android 17 trở lên, chỉ báo vị trí cũng sử dụng các bản ghi hoạt động của ứng dụng này.

  2. Giao diện người dùng hệ thống theo dõi các hoạt động mới của ứng dụng bằng cách sử dụng trình nghe AppOpsManager.OnOpActiveChangedInternalListenerOnOpNotedListener. Khi một hoạt động sử dụng mới xuất hiện (thông qua lệnh gọi đến startOp hoặc noteOp), Giao diện người dùng hệ thống sẽ xác minh rằng hoạt động sử dụng đó là của một ứng dụng hệ thống:

    • Nếu Giao diện người dùng hệ thống xác minh hoạt động sử dụng ứng dụng hệ thống và nếu hoạt động sử dụng đó là cho micrô, thì Giao diện người dùng hệ thống sẽ kiểm tra xem micrô có bị tắt tiếng hay không.

    • Nếu Giao diện người dùng hệ thống xác minh hoạt động sử dụng ứng dụng không phải của hệ thống (và đối với hoạt động sử dụng micrô, micrô không bị tắt tiếng; đối với hoạt động sử dụng máy ảnh, máy ảnh được bật), thì hệ thống sẽ hiển thị một biểu tượng phản ánh hoạt động sử dụng đó.

    • Nếu Giao diện người dùng hệ thống xác minh hoạt động sử dụng ứng dụng không phải của hệ thống, thì hệ thống sẽ hiển thị một biểu tượng phản ánh hoạt động sử dụng đó, miễn là các nút bật/tắt có liên quan đang hoạt động:

      • Đối với micrô: Micrô không bị tắt tiếng.
      • Đối với máy ảnh: Máy ảnh được bật.
      • Đối với thông tin vị trí: Ứng dụng đang chạy ở trạng thái nền trước.

Nếu Giao diện người dùng hệ thống nhận được noteOp (không có thời lượng), thì hệ thống sẽ hiển thị biểu tượng trong ít nhất 5 giây (10 giây đối với thông tin vị trí). Nếu không, biểu tượng sẽ xuất hiện cho đến khi nhận được stopOp hoặc trong thời lượng tối thiểu là 5 hoặc 10 giây, tuỳ vào thời lượng nào dài hơn. Người dùng nhấp vào một biểu tượng sẽ khởi tạo ý định chuyển đến PermissionController để bắt đầu hộp thoại.

PermissionController tải tất cả hoạt động sử dụng gần đây cho micrô, máy ảnh và thông tin vị trí. Hệ thống sẽ kiểm tra xem có hoạt động nào đang chạy hay đã chạy trong khoảng thời gian do Giao diện người dùng hệ thống đặt (15 giây đối với micrô hoặc máy ảnh, 20 giây đối với thông tin vị trí). Nếu tìm thấy kết quả phù hợp, hệ thống sẽ hiển thị tên của ứng dụng và các quyền được sử dụng.

Điện thoại phải triển khai hoạt động sử dụng quyền (để tính đến ngăn xếp micrô riêng được sử dụng trong các cuộc gọi điện thoại), đồng thời hoạt động với ứng dụng Google Tìm kiếm trên Android (AGSA) và GMS.