Uygulamanıza konum, mikrofon ve kamera ile ilgili izinler verilir hassas bilgilere erişilmesine izin vermeyebilir. 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.
Gizliliği korumaya yönelik bu sistem özellikleri, uygulamanızın kullanım şeklini etkilememelidir konum, mikrofon ve kamera ile ilgili izinleri Gizlilikle ilgili en iyi uygulamaları takip edin.
Özellikle, uygulamanızda aşağıdakileri yaptığınızdan emin olun:
- Kullanıcı
CAMERA
iznini verene kadar cihazın kamerasına erişmek için bekleyin uygulamanıza izin verin. - Kullanıcı izin verene kadar cihazın mikrofonuna erişmek için bekleyin
Uygulamanız için
RECORD_AUDIO
izni. - Kullanıcı, uygulamanızda şunları gerektiren bir özellikle etkileşimde bulunana kadar bekleyin:
konum bilgilerini
ACCESS_COARSE_LOCATION
veyaACCESS_FINE_LOCATION
izninin (konum isteme) hakkındaki rehberde açıklandığı gibi izinleri bulabilirsiniz. - Kullanıcı, uygulamanıza
ACCESS_COARSE_LOCATION
izni verene kadar bekleyin izni veyaACCESS_FINE_LOCATION
iznini vermeniz gerekir.ACCESS_BACKGROUND_LOCATION
izni gerekir.
Gizlilik Kontrol Paneli
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şimi gerekçesini göster
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ı tamamlayın:
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.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>
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:
- Sistem
ACTION_VIEW_PERMISSION_USAGE
çağırırsa uygulamanız şunları yapabilir: şunun için bir değer al:EXTRA_PERMISSION_GROUP_NAME
- Sistem
ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD
çağırırsa uygulamanızEXTRA_PERMISSION_GROUP_NAME
için değerleri alabilir,EXTRA_ATTRIBUTION_TAGS
,EXTRA_START_TIME
, veEXTRA_END_TIME
.
- Sistem
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.
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. Daha sonra, genel olarak
çok farklı olabilir.
Kotlin
view.setOnApplyWindowInsetsListener { view, windowInsets -> val indicatorBounds = windowInsets.getPrivacyIndicatorBounds() // change your UI to avoid overlapping windowInsets }
Açar/Kapatır
Şu özelliklere sahip desteklenen cihazlarda: Android 12 veya sonraki sürümler, kullanıcılar kamerayı etkinleştirip devre dışı bırakabilir. tek bir açma/kapatma düğmesine basarak cihazdaki tüm uygulamaların mikrofona erişimi seçeneğini belirleyin. Kullanıcılar, Hızlı Ayarlar'a gidin. veya sistem ayarlarındaki Gizlilik ekranından erişilebilir.
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 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 ö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);