Gizlilik göstergeleri

Android, aşağıdaki erişim türleri için gizlilik göstergeleri görüntüleyerek kullanıcılara şeffaflık sağlar:

  • Kamera ve mikrofon erişimi. Bir uygulama, kamera ve mikrofon uygulama işlemi izinleri aracılığıyla özel bir veri kaynağı kullandığında gösterge görünür. İlgili CDD koşulu için 2.2.5. Güvenlik Modeli.

  • Konum erişimi Bir uygulama cihazın konumuna eriştiğinde gösterge görünür. İlgili CDD şartı için 9.8.8. Konum.

Kullanıcılar, verilerine hangi uygulamaların eriştiğini görmek için bir göstergeye dokunur.

Etkin ve son kullanımlar

Android kullanıcı arayüzü, çalışan kullanımlar ile son kullanımlar arasında ayrım yapar:

  • Android 17 veya sonraki sürümlerde, sistem tarafından çalışıyor olarak işaretlenen ya da 10 saniyeden kısa süredir kullanılan konum kullanımları etkin olarak kabul edilir. Konum noktası için, sistem dışı uygulama ön plan durumunda çalışıyorsa erişim etkin olarak kabul edilir.

  • Android 12 veya sonraki sürümlerde, mikrofon ve kamera kullanımları sistem tarafından çalışıyor olarak işaretlenmişse ya da beş saniyeden daha eski değilse etkin kabul edilir.

Durum çubuğu simgeleri, bir uygulamanın kullanıcıya duyarlı mikrofon, kamera veya konum erişimi devam ettiğinde her seferinde gösterilir. Kullanıcılar bu simgelere dokunarak hangi uygulamaların mikrofona, kameraya, konuma veya bunların bir kombinasyonuna eriştiğini görebilir. Kullanımdaki göstergelere örnek:

Etkin erişimi gösteren göstergeler

Şekil 1. Etkin erişimi gösteren kullanımda göstergeleri (sağ üst köşe).

Göstergeler göründüğü sürece erişim etkin olarak kabul edilir. Önce bir simge gösterilir, ardından uygulama kapatılana veya kapatılana kadar kalıcı olan bir noktaya dönüşür. Kullanıcı Hızlı Ayarlar'ı açıp göstergelere dokunduğunda, uygulamanın mikrofonu, kamerayı, konumu veya bunların bir kombinasyonunu kullanıp kullanmadığını gösteren bir iletişim kutusu görünür.

Şekil 2, çalışan bir uygulama tarafından etkin zaman aralığında verilere erişildiğinde etkin erişim göstergelerini gösterir.

Etkin ve son erişim ile kaynak göstergeleri

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

Son erişim göstergeleri, bir uygulamanın önceki 15 saniye (konum verileri için 20 saniye) içinde verilere eriştiğini ancak uygulamanın etkin olmadığını gösterir. Tüm etkin uygulamalar iletişim kutusunda gösterilir ancak birden fazla uygulama önceki 15 veya 20 saniyelik zaman aralığında verilere erişmiş olsa bile yalnızca bir uygulama son erişimin kaynağı olarak gösterilir. Etkin veya son zaman aralığında konum verilerine erişen tüm uygulamalar iletişim kutusunda gösterilir. Erişim görünümü, kullanıcı bildirim iletişim kutusunu kapatana kadar devam eder.

Dağıtma ve etkinleştirme

PermissionManager sınıfı, iletişim kutusunu (Sistem Arayüzü'nde bulunur) doldurmak için bir yöntem sağlar. Sistem kullanıcı arayüzü, cihaz yapılandırma anahtarına privacy/mic_camera_indicators_enabled tepki verir. Bu anahtar, iki ayrı yayın aracı olduğundan gereklidir: (1) Yayınla, ardından (2) Etkinleştir.

İşlem akışı

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

  • Uygulamalar
  • Göstergeler (Sistem Arayüzü tarafından işlenir)
  • Hangi uygulamaların verileri kullandığını belirleme yöntemi

PermissionController, hangi uygulamaların veri kullandığını belirleme mekanizmasını sağlar. Sistem Arayüzü, özel verileri kullanan uygulamaları dinler. Sistem Arayüzü, kullanılan izinlere karşılık gelen bir simgeyi üst gezinme çubuğunda gösterir. PermissionController, kullanıcı bir simgeyi tıkladığında kullanımlarla ilgili verileri gösterir.

İzin göstergesi işlevlerinin işlem akışı

Şekil 3. Sistem bileşenleri ve (kullanıcı arayüzü) geçiş akışı.

  • 1 Bir uygulama, sistemden özel veriler ister.

  • 2 Sistem, izinleri kontrol eder. İzinler verilirse sistem, veri sağlayıcıyı bilgilendirir ve uygulama işlemleri bölümünde kullanımı not eder.

  • 3 Veri sağlayıcı, uygulamaya veri verir.

  • 4-5 Kullanıcı, simgeleri tıklar. Sistem Arayüzü, PermissionManager'dan veri isteğinde bulunur ve iletişim kutusunu kullanıcıya gösterir.

İşleme ayrıntıları

Uygulama işlemleri, çalışma zamanı izniyle korunan API'lere erişimleri kaydeder, etkinlik durumunu ve tek tek API çağrılarının sayısını izler ve kullanıcılara uygulamaların cihazlarındaki ses ve kamera verilerine ne zaman eriştiğini göstermek için kamera, mikrofon ve göstergelerle etkileşime girer.

  1. Uygulamalar, AppOpsManager.startOp, stopOp veya noteOp'yi çağırarak mikrofonu, kamerayı ya da konumu kullanır. Bu işlem, sistem sunucusunda uygulama işlemi kayıtları oluşturur. 17 ve sonraki sürümlerde konum göstergesi de bu uygulama işlemi kayıtlarını kullanır.

  2. Sistem Arayüzü, AppOpsManager.OnOpActiveChangedInternalListener ve OnOpNotedListener işleyicilerini kullanarak yeni uygulama işlemlerini dinler. Yeni bir kullanım geldiğinde (startOp veya noteOp çağrısı aracılığıyla), Sistem Kullanıcı Arayüzü, kullanımın bir sistem uygulaması tarafından yapıldığını doğrular:

    • Sistem Arayüzü, sistem uygulaması kullanımını doğruladığında ve kullanım mikrofon içinse Sistem Arayüzü, mikrofonun sessize alınmış olup olmadığını kontrol eder.

    • Sistem Arayüzü, sistem dışı uygulama kullanımını (ve mikrofon kullanımı için mikrofonun sesinin açıldığını; kamera kullanımı için kameranın etkinleştirildiğini) doğruladığında bu kullanımı yansıtan bir simge gösterir.

    • Sistem Arayüzü, sistem dışı uygulama kullanımını doğrularsa ilgili açma/kapatma düğmeleri etkin olduğu sürece bu kullanımı yansıtan bir simge gösterir:

      • Mikrofon için: Mikrofonun sesi açık olmalıdır.
      • Kamera için: Kamera açılır.
      • Konum için: Uygulama ön plan durumunda çalışıyor.

Sistem Arayüzü, süresi olmayan bir noteOp alırsa simgeyi en az 5 saniye (konum için 10 saniye) boyunca gösterir. Aksi takdirde, simge stopOp alana kadar veya minimum 5 ya da 10 saniye boyunca (hangisi daha uzunsa) gösterilir. Bir simgeyi tıklayan kullanıcı, iletişim kutusunu başlatmak için PermissionController'ya giden bir amaç başlatır.

PermissionController, mikrofon, kamera ve konumun son kullanımını yükler. Bu izinlerden herhangi birinin çalışıp çalışmadığını veya Sistem Arayüzü tarafından belirlenen süre içinde (Mikrofon veya Kamera için 15 saniye, konum için 20 saniye) çalışıp çalışmadığını kontrol eder. Eşleşme bulunursa uygulamanın adı ve kullanılan izinler gösterilir.

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