Indikator Privasi

Izin waktu proses di Android 6 dan yang lebih tinggi memberi pengguna kontrol atas kapan mereka mengizinkan perekaman audio dari mikrofon perangkat atau video dari kamera perangkat. Sebelum aplikasi dapat merekam, pengguna harus memberikan atau menolak izin melalui dialog yang ditampilkan sistem.

Android 12 memberikan transparansi kepada pengguna dengan menampilkan indikator saat aplikasi menggunakan sumber data pribadi melalui izin pengoperasian aplikasi kamera dan mikrofon. Akses rekaman operasi aplikasi ke API yang dilindungi izin waktu proses.

App-op melacak status aktivitas dan jumlah panggilan API individual, serta berinteraksi dengan indikator mikrofon dan kamera di Android 12 untuk menunjukkan kepada pengguna kapan aplikasi telah mengakses data audio dan kamera di perangkat mereka. Saat pengguna mengeklik indikator mikrofon atau kamera, mereka akan melihat aplikasi mana yang telah mengakses datanya. Fitur ini wajib untuk semua OEM.

Persyaratan visibilitas indikator

Berikut adalah persyaratan indikator mikrofon dan kamera pada perangkat yang menjalankan Android 12 atau lebih tinggi:

  • Indikator harus muncul di bilah status, dan mempertahankan prioritas visual tertinggi (misalnya, terletak di posisi paling kanan di pojok kanan atas).
  • Indikator harus ditempatkan secara konsisten di posisi yang sama, dan tidak boleh diblokir oleh aplikasi saat diluncurkan.
  • Kedua indikator harus berwarna hijau (atau variasi hijau).
  • Mengklik salah satu atau kedua indikator harus menampilkan pemberitahuan keterjangkauan atribusi aplikasi yang melakukan hal berikut:
    • Menampilkan nama aplikasi yang menggunakan mikrofon dan (atau) kamera
    • Menampilkan nama aplikasi yang menggunakan mikrofon dan (atau) kamera dalam 15 detik terakhir
    • Membawa pengguna ke halaman izin aplikasi di Pengaturan

Penggunaan dan fitur

Di Android 12, UI membedakan antara penggunaan yang berjalan dan penggunaan terkini. Penggunaan dianggap “aktif” jika ditandai oleh sistem sebagai “berjalan”, atau kurang dari 5 detik.

  • Ikon bilah status muncul setiap kali aplikasi memiliki akses mikrofon atau kamera yang sensitif terhadap pengguna.
  • Pengguna dapat mengeklik ikon ini dan melihat aplikasi mana yang mengakses mikrofon, kamera, atau keduanya.

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

Gambar 1. Indikator mikrofon dan kamera yang digunakan menunjukkan akses aktif (pojok kanan atas)

Akses dianggap aktif selama indikator menunjukkan. Ikon muncul terlebih dahulu, lalu bertransisi ke titik yang tetap ada hingga aplikasi ditutup atau ditutup.

Saat pengguna mengetuk indikator, kotak dialog akan terbuka, menunjukkan bahwa aplikasi sedang menggunakan kamera, mikrofon, atau keduanya.

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

Gambar 2. Indikator akses aktif dan terkini

Gambar pada Gambar 2 menunjukkan indikator akses aktif ketika data telah diakses dalam 5 detik terakhir oleh aplikasi yang sedang berjalan.

Indikator akses terkini menunjukkan bahwa data diakses oleh aplikasi selama 15 detik sebelumnya, namun aplikasi tersebut tidak aktif. Semua aplikasi aktif ditampilkan dalam dialog, namun hanya satu aplikasi yang ditampilkan sebagai sumber akses terbaru, meskipun lebih dari 1 aplikasi mengakses data dalam jangka waktu 15 detik sebelumnya. Tampilan akses tetap dibekukan hingga pengguna menutup dialog notifikasi.

Kirim dan Aktifkan

Kelas PermissionManager menyediakan metode untuk mengisi dialog, yang berada di UI Sistem.

  • UI Sistem bereaksi terhadap peralihan konfigurasi perangkat: privacy/mic_camera_indicators_enabled .
  • Peralihan ini diperlukan karena ada dua kendaraan pengiriman terpisah, dengan urutan sebagai berikut:
    1. Mengantarkan.
    2. Memungkinkan.
  • UI Sistem tidak boleh mogok jika metode di PermissionManager tidak dapat menyediakan data yang diperlukan.

Aliran proses

Fungsionalitas Indikator Izin memiliki tiga bagian utama:

  • Aplikasinya
  • Indikator (ditangani oleh SystemUI)
  • Cara untuk menentukan aplikasi mana yang menggunakan data

PermissionController menyediakan mekanisme untuk menentukan aplikasi mana yang menggunakan data. SystemUI mendengarkan aplikasi menggunakan data pribadi. SystemUI menampilkan ikon di bilah navigasi atas yang sesuai dengan izin yang digunakan. PermissionController menampilkan data tentang penggunaan ketika pengguna mengklik ikon.

Process flow for Permission Indicator functions

Gambar 3. Komponen sistem dan alur transisi (UI).

Transisi bernomor pada Gambar 3 dijelaskan di bawah ini:

1- Sebuah aplikasi meminta data pribadi dari sistem.

2- Sistem memeriksa izin. Jika izin diizinkan, sistem akan memberi tahu penyedia data, dan mencatat penggunaannya dalam operasi aplikasi

3- Penyedia data memberikan data ke aplikasi.

4-5 Pengguna mengklik ikon. UI Sistem meminta data dari PermissionManager dan menyajikan dialog kepada pengguna.

Detail Proses

  1. Aplikasi menggunakan mikrofon dan kamera, memanggil AppOpsManager.startOp , stopOp , dan (atau) noteOp . Ini membuat catatan pengoperasian aplikasi di server sistem.
  2. UI Sistem mendengarkan operasi aplikasi baru menggunakan pendengar AppOpsManager.OnOpActiveChangedInternalListener dan OnOpNotedListener . Saat penggunaan baru masuk (melalui panggilan ke startOp atau noteOp ), UI Sistem memverifikasi bahwa penggunaan tersebut dilakukan oleh aplikasi sistem.
  3. Jika UI Sistem memverifikasi penggunaan aplikasi sistem, dan jika penggunaannya untuk mikrofon, UI Sistem akan memeriksa apakah mikrofon dibisukan.
  4. Jika UI Sistem memverifikasi penggunaan aplikasi non-sistem, (dan, untuk penggunaan mikrofon, mikrofon dibunyikan; untuk penggunaan kamera, kamera diaktifkan), ikon yang mencerminkan penggunaan tersebut akan ditampilkan.

Jika UI Sistem menerima noteOp , yang tidak memiliki durasi, ikon akan ditampilkan setidaknya selama 5 detik. Jika tidak, ikon akan muncul hingga menerima stopOp , atau selama 5 detik, mana saja yang lebih lama. Pengguna mengklik ikon memulai maksud yang masuk ke PermissionController untuk memulai Dialog.

PermissionController memuat semua penggunaan terkini untuk mikrofon dan kamera. Ia memeriksa apakah ada yang sedang berjalan, atau sedang berjalan dalam jangka waktu yang ditentukan oleh UI Sistem. Jika menemukan kecocokan, ini akan menampilkan nama aplikasi yang menggunakan izin tersebut, dan izin apa yang digunakan aplikasi tersebut.

Karena perubahan di Android 12 dan yang lebih tinggi ini, beberapa aplikasi harus mengubah perilakunya atau menerapkan perilaku khusus.

Teleponi harus menerapkan penggunaan izin (untuk memperhitungkan tumpukan mikrofon terpisah yang digunakan dalam panggilan telepon), saat bekerja dengan aplikasi Android Google Penelusuran (AGSA) dan Layanan Seluler Google (GMS).