ตัวชี้วัดความเป็นส่วนตัว

สิทธิ์รันไทม์ใน Android 6 ขึ้นไปช่วยให้ผู้ใช้ควบคุมได้ว่าจะอนุญาตให้บันทึกเสียงจากไมโครโฟนของอุปกรณ์หรือวิดีโอจากกล้องของอุปกรณ์เมื่อใด ก่อนที่แอปจะบันทึกได้ ผู้ใช้ต้องให้หรือปฏิเสธการอนุญาตผ่านกล่องโต้ตอบที่ระบบนำเสนอ

Android 12 ให้ความโปร่งใสแก่ผู้ใช้โดยการแสดงตัวบ่งชี้เมื่อแอปใช้แหล่งข้อมูล ส่วนตัว ผ่านกล้องและ การอนุญาตแอป ไมโครโฟน บันทึก App-ops เข้าถึง API ที่มีการป้องกันการอนุญาตรันไทม์

App-op ติดตามทั้งสถานะกิจกรรมและจำนวนการเรียก API แต่ละรายการ และโต้ตอบกับตัวบ่งชี้ไมโครโฟนและกล้องใน Android 12 เพื่อแสดงให้ผู้ใช้เห็นเมื่อแอปเข้าถึงข้อมูลเสียงและกล้องบนอุปกรณ์ของตน เมื่อผู้ใช้คลิกที่ตัวบ่งชี้ไมโครโฟนหรือกล้อง พวกเขาจะเห็นว่าแอปใดเข้าถึงข้อมูลของตน คุณลักษณะนี้จำเป็นสำหรับ OEM ทั้งหมด

ข้อกำหนดการมองเห็นตัวบ่งชี้

ข้อกำหนดสำหรับตัวบ่งชี้ไมโครโฟนและกล้องในอุปกรณ์ที่ใช้ Android 12 ขึ้นไป:

  • ตัวบ่งชี้ต้องปรากฏในแถบสถานะ และรักษาลำดับความสำคัญของภาพสูงสุด (เช่น อยู่ที่ตำแหน่งขวาสุดที่มุมบนขวา)
  • ตัวบ่งชี้ต้องอยู่ในตำแหน่งเดียวกันอย่างสม่ำเสมอ และต้องไม่ถูกบล็อกโดยแอปเมื่อเปิดตัว
  • ตัวบ่งชี้ทั้งสอง ต้อง เป็นสีเขียว (หรือรูปแบบของสีเขียว)
  • การคลิกหนึ่งหรือทั้งสองตัวบ่งชี้ จะต้อง แสดงการแจ้งเตือนการจ่ายของแอปพลิเคชันที่ดำเนินการดังต่อไปนี้:
    • แสดงชื่อแอพที่ใช้ไมโครโฟนและ (หรือ) กล้อง
    • แสดงชื่อแอพที่ใช้ไมโครโฟนและ (หรือ) กล้องภายใน 15 วินาทีที่ผ่านมา
    • นำผู้ใช้ไปยังหน้าการอนุญาตของแอพใน การตั้งค่า

การใช้งานและคุณสมบัติ

ใน Android 12 UI จะแยกความแตกต่างระหว่างการใช้งานที่ใช้งานและการใช้งานล่าสุด การใช้งานจะถือว่า "ใช้งานอยู่" หากมีการทำเครื่องหมายโดยระบบว่า "กำลังทำงาน" หรือมีอายุน้อยกว่า 5 วินาที

  • ไอคอนแถบสถานะจะแสดงทุกครั้งที่แอปมีการเข้าถึงไมโครโฟนหรือกล้องที่ไวต่อผู้ใช้อย่างต่อเนื่อง
  • ผู้ใช้สามารถคลิกไอคอนเหล่านี้และดูว่าแอปใดกำลังเข้าถึงไมโครโฟน กล้อง หรือทั้งสองอย่าง

Microphone and camera in-use indicators showing that access is active

รูปที่ 1 ไฟแสดงการใช้งานไมโครโฟนและกล้องที่แสดงการเข้าถึงแบบแอ็คทีฟ (มุมบนขวา)

การเข้าถึงจะถือว่าใช้งานได้ตราบเท่าที่ตัวบ่งชี้แสดง ไอคอนจะแสดงก่อน จากนั้นจะเปลี่ยนเป็นจุดที่ยังคงอยู่จนกว่าแอปจะถูกปิดหรือปิด

เมื่อผู้ใช้แตะตัวบ่งชี้ กล่องโต้ตอบจะคลี่ออก แสดงว่าแอปกำลังใช้กล้อง ไมโครโฟน หรือทั้งสองอย่าง

Indicators for both active and recent access, and whether the access was from camera or microphone

รูปที่ 2 ตัวบ่งชี้การเข้าถึงที่ใช้งานอยู่และล่าสุด

รูปภาพใน รูปที่ 2 แสดงตัวบ่งชี้การเข้าถึงที่ใช้งานอยู่เมื่อแอปที่ทำงานอยู่มีการเข้าถึงข้อมูลในช่วง 5 วินาทีที่ผ่านมา

ตัวบ่งชี้การเข้าถึงล่าสุดแสดงว่าแอปเข้าถึงข้อมูลในช่วง 15 วินาทีก่อนหน้า แต่แอปไม่ได้เปิดใช้งาน แอปที่ใช้งานอยู่ทั้งหมดจะแสดงในกล่องโต้ตอบ แต่มีเพียงแอปเดียวที่แสดงเป็นแหล่งที่มาของการเข้าถึงล่าสุด แม้ว่าจะมีการเข้าถึงข้อมูลมากกว่า 1 แอปภายในกรอบเวลา 15 วินาทีก่อนหน้า มุมมองการเข้าถึงจะยังคงหยุดนิ่งจนกว่าผู้ใช้จะปิดกล่องโต้ตอบการแจ้งเตือน

ส่งและเปิดใช้งาน

คลาส PermissionManager จัดเตรียมวิธีการเติมไดอะล็อก ซึ่งอยู่ใน System UI

  • UI ของระบบตอบสนองต่อสวิตช์การกำหนดค่าอุปกรณ์: privacy/mic_camera_indicators_enabled
  • สวิตช์มีความจำเป็นเนื่องจากมียานพาหนะสำหรับจัดส่งแยกกันสองคัน ตามลำดับนี้:
    1. ส่งมอบ.
    2. เปิดใช้งาน.
  • UI ของระบบต้องไม่ขัดข้องหากวิธีการใน PermissionManager ไม่สามารถให้ข้อมูลที่จำเป็นได้

กระบวนการไหล

ฟังก์ชันตัวบ่งชี้การอนุญาตมีสามส่วนหลัก:

  • แอพ
  • ตัวชี้วัด (จัดการโดย SystemUI)
  • วิธีตรวจสอบว่าแอปใดกำลังใช้ข้อมูลอยู่

PermissionController มีกลไกในการพิจารณาว่าแอปใดกำลังใช้ข้อมูลอยู่ SystemUI รับฟังแอปโดยใช้ข้อมูลส่วนตัว SystemUI จะแสดงไอคอนในแถบนำทางด้านบนที่สอดคล้องกับสิทธิ์ที่ใช้ PermissionController จะแสดงข้อมูลเกี่ยวกับประเพณีเมื่อผู้ใช้คลิกที่ไอคอน

Process flow for Permission Indicator functions

รูปที่ 3 ส่วนประกอบของระบบและ (UI) การเปลี่ยนโฟลว์

การเปลี่ยนหมายเลขใน รูปที่ 3 อธิบายไว้ด้านล่าง:

1- แอพขอข้อมูลส่วนตัวจากระบบ

2- ระบบตรวจสอบการอนุญาต หากอนุญาต ระบบจะแจ้งผู้ให้บริการข้อมูลและบันทึกการใช้งานในแอพ-ops

3- ผู้ให้บริการข้อมูลให้ข้อมูลแก่แอป

4-5 ผู้ใช้คลิกที่ไอคอน UI ของระบบร้องขอข้อมูลจาก PermissionManager และแสดงกล่องโต้ตอบต่อผู้ใช้

รายละเอียดกระบวนการ

  1. แอปใช้ไมโครโฟนและกล้องเรียก AppOpsManager.startOp , stopOp และ (หรือ) noteOp สิ่งนี้จะสร้างเรคคอร์ด app-op ในเซิร์ฟเวอร์ระบบ
  2. UI ของระบบคอยฟัง App-ops ใหม่โดยใช้ตัวฟัง AppOpsManager.OnOpActiveChangedInternalListener และ OnOpNotedListener เมื่อมีการใช้งานใหม่เข้ามา (ผ่านการเรียก startOp หรือ noteOp ) System UI จะตรวจสอบว่าการใช้งานนั้นมาจากแอประบบ
  3. หาก System UI ตรวจสอบการใช้งานแอประบบ และหากเป็นการใช้งานสำหรับไมโครโฟน System UI จะตรวจสอบว่าไมโครโฟนปิดเสียงอยู่หรือไม่
  4. หาก UI ของระบบตรวจสอบการใช้งานแอปที่ไม่ใช่ของระบบ (และสำหรับการใช้ไมโครโฟน ไมโครโฟนถูกเปิดเสียง สำหรับการใช้งานกล้อง ว่ากล้องเปิดอยู่) จะแสดงไอคอนที่แสดงถึงการใช้งานดังกล่าว

หาก System UI ได้รับ noteOp ซึ่งไม่มีระยะเวลา มันจะแสดงไอคอนอย่างน้อย 5 วินาที มิฉะนั้น ไอคอนจะแสดงขึ้นจนกว่าจะได้รับ stopOp หรือเป็นเวลา 5 วินาที แล้วแต่ว่าเวลาใดจะนานกว่า ผู้ใช้ที่คลิกไอคอนจะเริ่มต้นความตั้งใจที่จะไปที่ PermissionController เพื่อเริ่มไดอะล็อก

PermissionController โหลดการใช้งานล่าสุดทั้งหมดสำหรับไมโครโฟนและกล้อง จะตรวจสอบว่าสิ่งใดที่กำลังทำงานอยู่หรือกำลังทำงานภายในกรอบเวลาที่กำหนดโดย UI ของระบบ หากพบรายการที่ตรงกัน จะแสดงชื่อแอปที่ใช้สิทธิ์และสิทธิ์ที่แอปใช้

เนื่องจากการเปลี่ยนแปลงนี้ใน Android 12 ขึ้นไป บางแอปจึงต้องเปลี่ยนลักษณะการทำงานหรือใช้ลักษณะการทำงานพิเศษ

โทรศัพท์ต้องใช้การอนุญาต (เพื่อบัญชีสำหรับกองไมโครโฟนแยกต่างหากที่ใช้ในการโทร) ในขณะที่ทำงานกับแอป Android Google Search (AGSA) และ Google Mobile Services (GMS)