Daha hassas bilgilere erişimi açıklayın

Uygulamanıza konum, mikrofon ve kamera ile ilgili izinler verilir hassas bilgilere erişilmesine izin vermeyebilir. Platform, kullanıcıların bilgi sahibi olmasına ve hangi uygulamaların konuma, mikrofona ve kameraya erişebileceğini kontrol etmesine yardımcı olmak için bu sayfada açıklanan çeşitli mekanizmalar içerir.

Gizlilikle ilgili en iyi uygulamaları izlediğiniz sürece, gizliliği korumaya yönelik bu sistem özellikleri, uygulamanızın konum, mikrofon ve kamerayla ilgili izinleri işleyiş şeklini etkilemez.

Özellikle, uygulamanızda aşağıdakileri yaptığınızdan emin olun:

Gizlilik Kontrol Paneli

Dikey zaman çizelgesinde,
         konum bilgilerine erişildi ve erişimlerin ne zaman gerçekleştiği
Şekil 1. Konum kullanım ekranı, Gizlilik'in bir parçası Kontrol Paneli.

Android 12 veya sonraki sürümleri çalıştıran desteklenen cihazlarda sistem ayarlarında bir Gizlilik Kontrol Paneli ekranı gösterilir. Kullanıcılar bu ekrandan uygulamalar konuma, kameraya ve mikrofona eriştiğinde gösterilen ayrı ekranlar ekleyebilirsiniz. Her ekranda, farklı uygulamaların bir yardımcı olabilir. Şekil 1'de, konum bilgileri için veri erişimi zaman çizelgesi gösterilmektedir.

Veri erişiminin gerekçesini gösterme

Uygulamanız, kullanıcıların neden uygulamanızın nedenini anlamalarına yardımcı olmak için bir gerekçe sunabilir konum, kamera veya mikrofon bilgilerine eriştiğinde Bu gerekçe, yeni Gizlilik Kontrol Paneli ekranında, uygulamanızın izinler ekranında veya her ikisinde birden görünür.

Uygulamanızın konum, kamera ve mikrofon bilgilerine neden eriştiğini açıklamak için aşağıdaki adımları uygulayın:

  1. Başlangıçta bunu neden yaptığınıza dair gerekçe sağlayan bir etkinlik ekleyin Veri erişim işlemi türünü gerçekleştirir. Bu etkinlikte android:permission özelliğini START_VIEW_PERMISSION_USAGE olarak ayarlayın.

    Uygulamanız Android 12 veya sonraki sürümleri hedefliyorsa android:exported özelliği için açıkça bir değer tanımlamanız gerekir.

  2. Yeni eklenen etkinliğe aşağıdaki intent filtresini ekleyin:

    <!-- android:exported required if you target Android 12. -->
    <activity android:name=".DataAccessRationaleActivity"
              android:permission="android.permission.START_VIEW_PERMISSION_USAGE"
              android:exported="true">
           <!-- VIEW_PERMISSION_USAGE shows a selectable information icon on
                your app permission's page in system settings.
                VIEW_PERMISSION_USAGE_FOR_PERIOD shows a selectable information
                icon on the Privacy Dashboard screen. -->
        <intent-filter>
           <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" />
           <action android:name="android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD" />
           <category android:name="android.intent.category.DEFAULT" />
           ...
        </intent-filter>
    </activity>
    
  3. Veri erişimi gerekçesi etkinliğinizin neleri göstereceğine karar verin. Örneğin, uygulamanızın web sitesini veya bir yardım merkezi makalesini gösterebilir. Daha fazla uygulamanızın eriştiği veri türleri hakkında ayrıntılı açıklama ve sistem şuna dahil olan ekstraları işleyebilir: , izin kullanım amacını çağırır:

Eklediğiniz intent filtrelerine bağlı olarak kullanıcılar bir bilgi simgesi görür belirli ekranlarda uygulamanızın adının yanında:

  • VIEW_PERMISSION_USAGE değerini içeren intent filtresini eklerseniz işlemi için, uygulamanızın sistem ayarlarındaki izinler sayfasındaki simgeyi görürler. Siz bu işlemi tüm çalışma zamanı izinlerine uygulayabilir.
  • Örneğin, VIEW_PERMISSION_USAGE_FOR_PERIOD işlemi, kullanıcılar uygulamanızın adına bakın.

Kullanıcılar bu simgeyi seçtiğinde, uygulamanızın gerekçe etkinliği başlatılır.

Ekranın sağ üst köşesinde bulunan, şeklin üzerine
         bir kamera simgesi ve bir mikrofon simgesi içerir
Şekil 2. Son veri erişimini gösteren mikrofon ve kamera göstergeleri

Göstergeler

Android 12 veya sonraki sürümleri çalıştıran cihazlarda, bir uygulama mikrofon veya kameraya dokunduğunuzda, durum çubuğunda bir simge görünür. Uygulama yoğun modu seçerseniz simge, sağ üst köşesinde görebilirsiniz. Kullanıcılar Hızlı Ayarlar'ı açıp simgesine dokunarak şu anda mikrofonu veya kamerayı kullanan uygulamaları görebilirsiniz. Şekil 2'de simgeleri içeren örnek bir ekran görüntüsü gösterilmektedir.

Göstergelerin ekrandaki konumunu belirleme

Uygulamanız yoğun içerik modunu veya tam ekran kullanıcı arayüzünü destekliyorsa göstergelerde kullanıcı arayüzüyle geçici bir süre çakışır. Kullanıcı arayüzünüzü bu göstergelere uyarlamaya yardımcı olması için sistem, web sitesinin getPrivacyIndicatorBounds() yöntemini çağırın. Bu API'yi kullanarak şunları yapabilirsiniz: ve göstergelerin yerlerini belirlemenize yardımcı olur. Ardından ekranınızın kullanıcı arayüzünü farklı şekilde düzenlemeye karar verebilirsiniz.

Kotlin

view.setOnApplyWindowInsetsListener { view, windowInsets ->
    val indicatorBounds = windowInsets.getPrivacyIndicatorBounds()
    // change your UI to avoid overlapping
    windowInsets
}

Açar/Kapatır

Hızlı ayar kutuları &quot;Kamera erişimi&quot; olarak etiketlenir ve
         &quot;Mikrofon erişimi&quot;
Şekil 3. Mikrofon ve kamera açılır/kapatılır Hızlı Ayarlar.

Android 12 veya sonraki sürümleri çalıştıran desteklenen cihazlarda kullanıcılar, tek bir açma/kapatma düğmesine basarak cihazdaki tüm uygulamalar için kamera ve mikrofon erişimini etkinleştirebilir ve devre dışı bırakabilir. Kullanıcılar, 3. resimde gösterildiği gibi Hızlı Ayarlar'dan veya sistem ayarlarındaki Gizlilik ekranından açma/kapatma düğmeli seçeneklere erişebilir.

Kamera ve mikrofon açma/kapatma düğmesi cihazdaki tüm uygulamaları etkiler:

  • Kullanıcı kamera erişimini devre dışı bıraktığında uygulamanız boş bir kamera feed'i alır.
  • Kullanıcı mikrofon erişimini devre dışı bıraktığında uygulamanız sessiz ses alır. Ayrıca, hareket sensörleri sınırlı ücret, söz konusu şartların form üzerindeki HIGH_SAMPLING_RATE_SENSORS izni gerekir.

Kullanıcı kameraya veya mikrofona erişimi kapattıktan sonra kamera ya da mikrofon bilgilerine erişmesi gereken bir uygulama başlattığında sistem, kullanıcıya cihaz genelindeki açma/kapatma düğmesinin kapalı olduğunu hatırlatır.

Cihaz desteğini kontrol etme

Bir cihazın mikrofon ve kamera açma/kapatma özelliğini destekleyip desteklemediğini kontrol etmek için şu kod snippet'inde görünür:

Kotlin

val sensorPrivacyManager = applicationContext
        .getSystemService(SensorPrivacyManager::class.java)
        as SensorPrivacyManager
val supportsMicrophoneToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.MICROPHONE)
val supportsCameraToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.CAMERA)

Java

SensorPrivacyManager sensorPrivacyManager = getApplicationContext()
        .getSystemService(SensorPrivacyManager.class);
boolean supportsMicrophoneToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.MICROPHONE);
boolean supportsCameraToggle = sensorPrivacyManager
        .supportsSensorToggle(Sensors.CAMERA);