Gizlilik Göstergeleri

Android 6 ve sonraki sürümlerdeki çalışma zamanı izinleri, kullanıcılara bir cihazın mikrofonundan gelen sesin veya bir cihazın kamerasından alınan videonun ne zaman kaydedilmesine izin verdikleri konusunda kontrol sağlar. Bir uygulamanın kayıt yapabilmesi için, kullanıcının sistemin sunduğu bir iletişim kutusu aracılığıyla ona izin vermesi veya reddetmesi gerekir.

Android 12 Bir uygulama kameralar ve mikrofon aracılığıyla özel bir veri kaynağı kullandığında göstergeler görüntüleyerek şeffaflık ile kullanıcılarının hizmetine app-op izinleri . Uygulama operasyonları, çalışma zamanı izniyle korunan API'lere erişimleri kaydeder.

App-op, hem etkinlik durumunu hem de bireysel API çağrılarının sayısını izler ve uygulamaların cihazlarındaki ses ve kamera verilerine ne zaman eriştiğini kullanıcılara göstermek için Android 12'deki mikrofon ve kamera göstergeleriyle etkileşime girer. Kullanıcılar mikrofon veya kamera göstergelerini tıkladıklarında, hangi uygulamaların verilerine eriştiğini görürler. Bu özellik tüm OEM'ler için zorunludur.

Gösterge görünürlük gereksinimleri

Android 12 veya sonraki sürümlerde çalışan cihazlarda mikrofon ve kamera göstergeleri için gereksinimler şunlardır:

  • Göstergeler durum çubuğunda görünmeli ve en yüksek görsel önceliği korumalıdır (örneğin, sağ üst köşede en sağ konumda bulunur).
  • Göstergeler tutarlı bir şekilde aynı konumda bulunmalı ve başlatıldığında bir uygulama tarafından engellenmemelidir.
  • Her iki göstergeler yeşil renkte (veya yeşil bir varyasyonu) olması gerekir.
  • Birini tıklamak ya da her iki göstergeler şunları yapar bir uygulama ilişkilendirme affordance bildirim işlemek gerekir:
    • Mikrofonu ve (veya) kamerayı kullanan uygulamanın adını görüntüler
    • Son 15 saniye içinde mikrofonu ve (veya) kamerayı kullanan uygulamanın adını görüntüler
    • Ayarlar bölümünde Uygulama izin sayfasına götürülür

Kullanım ve özellikler

Android 12'de, kullanıcı arayüzü, çalışan kullanımlar ile son kullanımlar arasında ayrım yapar. Kullanımlar, sistem tarafından "çalışıyor" olarak işaretlendiyse veya 5 saniyeden daha eskiyse "etkin" olarak kabul edilir.

  • Durum çubuğu simgeleri, bir uygulamanın sürekli olarak kullanıcıya duyarlı mikrofon veya kamera erişimine sahip olduğu her seferde gösterilir.
  • Kullanıcılar bu simgeleri tıklayabilir ve hangi uygulamaların mikrofona, kameraya veya her ikisine birden eriştiğini görebilir.

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

Şekil 1. Mikrofon ve kamera kullanımda aktif erişimini gösteren göstergeler (sağ üst köşede)

Göstergeler gösterdiği sürece erişim etkin olarak kabul edilir. Önce bir simge gösterilir, ardından uygulama kapatılana veya kapatılana kadar devam eden bir noktaya geçiş yapar.

Bir kullanıcı göstergelere dokunduğunda, bir uygulamanın o anda kamerayı, mikrofonu veya her ikisini birden kullandığını gösteren bir iletişim kutusu açılır.

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

Şekil 2. Aktif ve son erişim göstergeleri

Veri çalışan bir uygulama tarafından son 5 saniye içinde erişilmiş Şekil 2, aktif erişim göstergelerinde görüntüsü.

Son erişim göstergeleri, verilere bir uygulama tarafından önceki 15 saniye içinde erişildiğini, ancak uygulamanın etkin olmadığını gösterir. Tüm etkin uygulamalar diyalogda gösterilir, ancak önceki 15 saniyelik zaman aralığında 1'den fazla uygulama verilere eriştiğinde bile son erişimin kaynağı olarak yalnızca bir uygulama gösterilir. Erişim görünümü, kullanıcı bildirim iletişim kutusunu kapatana kadar donmuş halde kalır.

Teslim Et ve Etkinleştir

PermissionManager sınıfı Sistemi arayüzünde bulunan iletişim kutusunu doldurmak için bir yöntem sağlar.

  • Sistem Arayüzü cihaz konfigürasyonu anahtarına tepki: privacy/mic_camera_indicators_enabled .
  • Anahtar, bu sırayla iki ayrı teslimat aracı olduğundan gereklidir:
    1. Teslim etmek.
    2. Olanak vermek.
  • Yöntem ise Sistem Arayüzü çökmesine etmemelidir PermissionManager gerekli veri sağlayamaz.

Süreç akışı

İzin Göstergesi işlevinin üç ana bölümü vardır:

  • uygulamalar
  • Göstergeler (SystemUI tarafından yönetilir)
  • Hangi uygulamaların verileri kullandığını belirlemenin bir yolu

PermissionController uygulamalar verileri kullanılarak olduğunu belirlemek için bir mekanizma sağlar. SystemUI, özel verileri kullanan uygulamaları dinler. SystemUI, kullanılan izinlere karşılık gelen üst gezinme çubuğunda bir simge gösterir. PermissionController Bir kullanıcı bir simge tıkladığında kullanımlar hakkında verileri görüntüler.

Process flow for Permission Indicator functions

Şekil 3. Sistem komponentleri ve (UI) geçişleri akış

Şekil 3'te sayılı geçişler, aşağıda tarif edilmiştir:

1- Bir uygulama sistemi özel veri talep eder.

2- kontrol eder izinleri. İzinlere izin veriliyorsa, sistem veri sağlayıcıyı bilgilendirir ve uygulama operasyonlarındaki kullanımı not eder.

3- veri sağlayıcı uygulama verileri verir.

4-5 kullanıcı simgeleri tıklar. Sistem Arayüzü veri ister PermissionManager ve kullanıcıya iletişim sunar.

Süreç Detayları

  1. Uygulamalar çağıran mikrofon ve kamera kullanımı AppOpsManager.startOp , stopOp ve (veya) noteOp . Bu, sistem sunucusunda uygulama-op kayıtları oluşturur.
  2. Sistem Arayüzü kullanarak yeni uygulama-op dinleyen AppOpsManager.OnOpActiveChangedInternalListener ve OnOpNotedListener dinleyicileri. Yeni bir kullanımı (ya bir çağrı yoluyla geldiğinde startOp veya noteOp ), Sistem Arayüzü doğrular kullanımı bir sistem uygulaması tarafından olduğunu.
  3. Sistem Kullanıcı Arayüzü sistem uygulaması kullanımını doğrularsa ve kullanım mikrofon içinse, Sistem Kullanıcı Arayüzü mikrofonun sessize alınıp alınmadığını kontrol eder.
  4. Sistem Kullanıcı Arayüzü sistem dışı uygulama kullanımını doğrularsa (ve mikrofon kullanımı için mikrofonun sesinin açık olduğunu; kamera kullanımı için kameranın açık olduğunu), bu kullanımı yansıtan bir simge gösterir.

Sistem Arayüzü bir alırsa noteOp süresi yok, bu en az 5 saniye boyunca simge gösterir. Aksi takdirde, ikon gösterir bu ya bir alana kadar stopOp , ya da 5 saniye, hangisi daha uzundur. Bir simge tıklayarak kullanıcı gider dair bir niyet başlatır PermissionController İletişim Kutusunu başlatın.

PermissionController mikrofon ve kamera için tüm son kullanım yükler. Bunlardan herhangi birinin şu anda çalışıp çalışmadığını veya Sistem Kullanıcı Arayüzü tarafından belirlenen zaman çerçevesi içinde çalışıp çalışmadığını kontrol eder. Bir eşleşme bulursa, izni kullanan uygulamanın adını ve uygulamanın hangi izinleri kullandığını görüntüler.

Android 12 ve sonraki sürümlerdeki bu değişiklik nedeniyle, bazı uygulamaların davranışlarını değiştirmesi veya özel davranışlar uygulaması gerekir.

Telefon, Android Google Arama uygulaması (AGSA) ve Google Mobil Hizmetleri (GMS) ile çalışırken (telefon görüşmelerinde kullanılan ayrı mikrofon yığınını hesaba katmak için) izin kullanımını uygulamalıdır.