Indikator Privasi

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

Android 12 memberikan transparansi kepada pengguna dengan menampilkan indikator saat aplikasi menggunakan sumber data pribadi melalui izin pengoperasian aplikasi kamera dan mikrofon . App-ops merekam akses ke API yang dilindungi izin waktu proses.

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

Persyaratan visibilitas indikator

Berikut adalah persyaratan untuk 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 sudut 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 warna hijau).
  • Mengklik salah satu atau kedua indikator harus membuat 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 sedang berjalan dan penggunaan terbaru. Penggunaan dianggap "aktif" jika ditandai oleh sistem sebagai "berjalan", atau kurang dari 5 detik.

  • Ikon bilah status ditampilkan setiap kali aplikasi memiliki akses mikrofon atau kamera sensitif pengguna yang sedang berlangsung.
  • Pengguna dapat mengklik 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 sedang digunakan menunjukkan akses aktif (pojok kanan atas)

Akses dianggap aktif selama indikator menunjukkan. Ikon ditampilkan terlebih dahulu, lalu transisi ke titik yang bertahan hingga aplikasi ditutup atau ditutup.

Saat pengguna mengetuk indikator, kotak dialog 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 terbaru menunjukkan bahwa data diakses oleh aplikasi selama 15 detik sebelumnya, tetapi aplikasi tersebut tidak aktif. Semua aplikasi aktif ditampilkan dalam dialog, tetapi hanya satu aplikasi yang ditampilkan sebagai sumber akses terbaru, bahkan ketika 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 sakelar konfigurasi perangkat: privacy/mic_camera_indicators_enabled .
  • Sakelar diperlukan karena ada dua kendaraan pengiriman yang terpisah, dengan urutan sebagai berikut:
    1. Mengantarkan.
    2. Memungkinkan.
  • UI Sistem tidak boleh macet jika metode di PermissionManager tidak dapat menyediakan data yang diperlukan.

Aliran proses

Fungsionalitas Indikator Izin memiliki tiga bagian utama:

  • Aplikasi
  • 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 saat pengguna mengklik ikon.

Process flow for Permission Indicator functions

Gambar 3. Komponen sistem dan aliran transisi (UI)

Transisi bernomor pada Gambar 3 dijelaskan di bawah ini:

1- Aplikasi meminta data pribadi dari sistem.

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

3- Penyedia data memberikan data ke aplikasi.

4-5 Pengguna mengklik ikon. Sistem UI 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 app-op 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 dimatikan.
  4. Jika UI Sistem memverifikasi penggunaan aplikasi non-sistem, (dan, untuk penggunaan mikrofon, bahwa mikrofon tidak dibisukan; untuk penggunaan kamera, bahwa kamera diaktifkan), ini akan menampilkan ikon yang mencerminkan penggunaan tersebut.

Jika System UI menerima noteOp , yang tidak memiliki durasi, itu akan menampilkan ikon setidaknya selama 5 detik. Jika tidak, ikon akan ditampilkan 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 terbaru untuk mikrofon dan kamera. Ini memeriksa apakah ada yang sedang berjalan, atau sedang berjalan dalam kerangka waktu yang ditetapkan oleh UI Sistem. Jika menemukan kecocokan, ini akan menampilkan nama aplikasi yang menggunakan izin, dan izin mana yang digunakan aplikasi.

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

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