Android 11, kullanıcılara daha ayrıntılı bilgiler sunma olanağı tanır. konum, mikrofon ve kamera izinlerini verebilirsiniz. Ayrıca, sistem Android 11 veya sonraki bir sürümü hedefleyen kullanılmayan uygulamaların izinlerini sıfırlar daha yüksek olabilir ve uygulamaların sistem uyarı penceresini kullanma veya telefon numaralarıyla ilgili bilgileri okuma.
Tek seferlik izinler
Android 11'den itibaren uygulamanız her izin istediğinde kullanıcı izinleri iletişim kutusu, konum, mikrofon veya kamera ile ilgili Yalnızca bu sefer adlı bir seçenek içerir. Kullanıcı bu seçeneği İletişim kutusunda, uygulamanıza tek seferlik geçici bir izin verilir.
Sistemin tek seferlik işlemleri nasıl yaptığı hakkında daha fazla bilgi edinin. izinleriyle ilgili daha fazla bilgi edinin.
Kullanılmayan uygulamaların izinlerini otomatik olarak sıfırla
Uygulamanız Android 11 veya sonraki bir sürümü hedefliyorsa ve birkaç süre kullanılmıyorsa aylar sonra, sistem, verileri otomatik olarak sıfırlayarak kullanıcı verilerini korur. Kullanıcının uygulamanıza verdiği çalışma zamanında istenen izinleri içerir. Bu işlem, bu kullanıcı sistem ayarlarında bir izni görüntülemiş ve uygulamanın Reddet erişim düzeyini seçin. Uygulamanız çalışma zamanında izin istediğinde, uygulamanızda değişiklik yapmanız gerekmez. Çünkü kullanıcı olarak etkileşimde bulunduğunda, bu özelliklerin gerekli izinleri verebilirsiniz.
Sistemin, kullanılmayan izinleri otomatik olarak nasıl sıfırladığı hakkında daha fazla bilgi uygulamalar.
İzin iletişim kutusu görünürlüğü
Android 11'den itibaren, kullanıcı belirli bir süre için Reddet'e dokunursa belirli bir izni birden fazla kez kullandığınız, uygulamanız artık daha güvenli değilse kullanıcı, bu izni tekrar istiyor. Kullanıcının yaptığı işlem "bir daha sorma" anlamına gelir. Şu tarihte: kullanıyorsanız, kullanıcılar şunu her yaptığında sistem izinleri iletişim kutusunu kullanıcı daha önce "sorma" seçeneğini belirlemediyse uygulama izin istedi tekrar" onay kutusunu veya seçeneği işaretleyin. Android 11'deki bu davranış değişikliği, kullanıcıları kullanıcıların reddetmeyi seçtiği izinler için tekrarlanan istekler.
Bir uygulamaya izinlerin kalıcı olarak reddedilip reddedilmediğini belirlemek (hata ayıklama için hariç) aşağıdaki komutu kullanın:
adb shell dumpsys package PACKAGE_NAME
Burada PACKAGE_NAME, incelenecek paketin adıdır.
Komutun çıkışı aşağıdaki gibi bölümler içerir:
... runtime permissions: android.permission.POST_NOTIFICATIONS: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED] android.permission.ACCESS_FINE_LOCATION: granted=false, flags=[ USER_SET|USER_FIXED|USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED] android.permission.BLUETOOTH_CONNECT: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED] ...
Kullanıcı tarafından bir kez reddedilen izinler USER_SET
tarafından işaretlenir.
İki kez Reddet seçilerek kalıcı olarak reddedilen izinler
USER_FIXED
tarafından işaretlendi.
Test sırasında, test kullanıcılarının yeniden yüklenmediğinden emin olmak için daha da şaşırtıcı hale gelebilir. Bunun için şu komutu kullanın:
adb shell pm clear-permission-flags PACKAGE_NAME PERMISSION_NAME user-set user-fixed
PERMISSION_NAME, istediğiniz iznin adıdır sıfırlandı. Android uygulama izinlerinin tam listesini görüntülemek için permissions API'yi ziyaret edin. referans sayfasına gidin.
İznin nasıl işleneceği hakkında daha fazla bilgi edinin. inceleyebilirsiniz.
Sistem uyarı penceresi değişiklikleri
Android 11, uygulamaların
SYSTEM_ALERT_WINDOW
izni gerekir. Değişiklikler, izin alınarak kullanıcıları korumak amacıyla
daha bilinçli kararlar vermek
sizin görevinizdir.
İstek üzerine belirli uygulamalara otomatik olarak SYSTEM_ALERT_WINDOW izni verilir
Belirli uygulama sınıflarına otomatik olarak SYSTEM_ALERT_WINDOW
izni verilir
izin:
Google’ın
ROLE_CALL_SCREENING
veSYSTEM_ALERT_WINDOW
isteğine otomatik olarak izin verilir. Eğer UygulamaROLE_CALL_SCREENING
iznini kaybederse izni kaybeder.Ekranı bir
MediaProjection
veSYSTEM_ALERT_WINDOW
kullanıcısına otomatik olarak izin verilmesini ister Kullanıcı uygulamaya erişim iznini açıkça reddetmediği sürece. Uygulama ekranı yakalamayı durdurursa izni kaybeder. Bu kullanım alanı öncelikli olarak için tasarlanan yeni bir oyun platformu.
Bu uygulamaların
ACTION_MANAGE_OVERLAY_PERMISSION
SYSTEM_ALERT_WINDOW
iznini almak için; uygulamalar daha sonra
Doğrudan SYSTEM_ALERT_WINDOW
.
MANAGE_OVERLAY_PERMISSION amaçları, kullanıcıyı her zaman sistem izinleri ekranına getirir
Android 11'den itibaren
ACTION_MANAGE_OVERLAY_PERMISSION
Intent'ler, kullanıcıyı her zaman üst düzey Ayarlar ekranına getirir. Burada,
değiştirme işlemini
SYSTEM_ALERT_WINDOW
uygulamalar için izinler. Amaçtaki package:
verileri yoksayılır.
Android'in önceki sürümlerinde ACTION_MANAGE_OVERLAY_PERMISSION
amacı
kullanıcıyı uygulamaya özel bir ekrana götürecek bir paket belirtebilir
izin yönetiminden sorumlu kişidir. Bu işlev şu tarihten itibaren desteklenmemektedir:
Android 11. Bunun yerine, kullanıcının önce istediği uygulamayı seçmesi gerekir
kabul etme veya yetkiyi iptal etme hakkını saklı tutar. Bu değişiklik, kullanıcıları korumak amacıyla yapılmıştır
bunu daha bilinçli bir şekilde
yapabilirsiniz.
Telefon numaraları
Android 11, uygulamanızın , telefon numaralarını okurken kullanır.
Uygulamanız Android 11 veya sonraki bir sürümü hedefliyorsa ve
telefon numarası API'leri aşağıdaki listede yer alıyorsa
READ_PHONE_NUMBERS
izni ile birlikte READ_PHONE_STATE
izninin kullanılmasını gerektirir.
getLine1Number()
yöntemi her ikisinde deTelephonyManager
veTelecomManager
sınıfını kullanır.- Desteklenmeyen
getMsisdn()
yöntemiTelephonyManager
sınıfını kullanır.
Uygulamanız, READ_PHONE_STATE
adlı çocuğun
listede yer alıyorsa tüm platformlarda READ_PHONE_STATE
isteğinde bulunmaya devam edebilirsiniz.
Android sürümleri. READ_PHONE_STATE
iznini yalnızca
yöntemlerine sahip değilseniz manifest dosyanızı aşağıdaki gibi güncelleyebilirsiniz:
- Uygulamanızın şunu kullanması için
READ_PHONE_STATE
beyanınızı değiştirin: izni yalnızca Android 10 (API düzeyi 29) ve önceki sürümlerde kullanılabilir. READ_PHONE_NUMBERS
iznini ekleyin.
Aşağıdaki manifest bildirim snippet'inde bu işlem gösterilmektedir:
<manifest> <!-- Grants the READ_PHONE_STATE permission only on devices that run Android 10 (API level 29) and lower. --> <uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="29" /> <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" /> </manifest>
Ek kaynaklar
Android 11'de izinlerde yapılan değişiklikler hakkında daha fazla bilgi için şu malzemeleri kullanabilirsiniz:
Videolar
Gizlilik konusundaki son değişikliklerle birlikte Android 11