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

Konum, mikrofon ve kamera ile ilgili izinler, uygulamanıza özellikle kullanıcılarla ilgili hassas bilgilere erişim izni verir. Platform şunları içerir: yardımcı olmak için, bu sayfada açıklanan çeşitli mekanizmalar ile Hangi uygulamaların konum, mikrofon ve kameraya erişebileceğini kontrol edin.

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 çizelgesi, konum bilgilerine erişen farklı uygulamaları ve erişimlerin ne zaman gerçekleştiğini gösterir.
Şekil 1. Gizlilik kontrol panelinin bir parçası olan konum kullanımı ekranı.

Android 12 veya sonraki bir sürümü çalıştıran desteklenen cihazlarda Gizlilik Sistem ayarlarında kontrol paneli ekranı görünür. 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, konum için veri erişimi zaman çizelgesini göstermektedir ekleyebilirsiniz.

Veri erişiminin gerekçesini gösterme

Uygulamanız, konum, kamera veya mikrofon bilgilerine neden eriştiğini kullanıcılara açıklamak için bir gerekçe sunabilir. 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ı tamamlayı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ği Hedef: START_VIEW_PERMISSION_USAGE.

    Uygulamanız Android 12 veya sonraki bir sürümü hedefliyorsa android:exported için bir değer tanımlayın özelliği ekleyin.

  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österebilirsiniz. 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 işlemini içeren intent filtresini eklerseniz kullanıcılar, uygulamanızın sistem ayarlarındaki izinler sayfasında simgeyi görür. Bu işlemi tüm çalışma zamanı izinlerine uygulayabilirsiniz.
  • Ö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.

Sağ üst köşede kamera ve mikrofon simgeleri içeren yuvarlak bir dikdörtgen
Ş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 tam ekran modundaysa simge ekranın sağ üst köşesinde görünür. Kullanıcılar, Hızlı Ayarlar'ı açıp simgesini seçerek şu anda mikrofonu veya kamerayı hangi uygulamaların kullandığını görebilir. Şekil 2'de simgeleri içeren örnek bir ekran görüntüsü gösterilmektedir.

Göstergelerin ekrandaki konumunu belirleme

Uygulamanız tam ekran kullanıcı arayüzünü veya tam ekran modunu destekliyorsa göstergeler uygulamanızın kullanıcı arayüzüyle geçici olarak örtüşebilir. Sistem, kullanıcı arayüzünüzü bu göstergelere uyarlamanıza yardımcı olmak için aşağıdaki kod snippet'inde gösterilen getPrivacyIndicatorBounds() yöntemini sunar. 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, Hızlı Ayarlar'a gidin. veya sistem ayarlarındaki Gizlilik ekranından erişilebilir.

Kamera ve mikrofon açma/kapatma düğmeleri 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 kapattığı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ı kamera veya mikrofona erişimi kapattığında kamera veya mikrofon bilgilerine erişmesi gereken bir uygulamayı başlatırsa sistem, kullanıcıya cihaz genelinde 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 düğmelerini destekleyip desteklemediğini kontrol etmek için aşağıdaki kod snippet'inde görünen mantığı ekleyin:

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