Android 10'daki üç durumlu konum izinleri, kullanıcılara uygulamaların cihaz konumlarına nasıl eriştiği konusunda daha fazla kontrol sağlar.
Android 9 ve önceki sürümlerde kullanıcılar, uygulamalara konum erişimi izni verirken kalıcı seçimler yapıyordu. Reddedebilir veya İzin Verebilirler; bunlardan ikincisi uygulamalara her zaman erişim sağlar (ön plan ve arka plan). Android 10'daki üç durumlu konum izinleri, kullanıcılara bir uygulamanın cihazın konumuna erişmesine izin vermek için üç seçenek sunar. Bir uygulama talep ettiğinde kullanıcılardan izin düzeyini vermeleri veya reddetmeleri istenir.
Kullanıcı normalde Şekil 1'de sunulan üç seçeneği görür. Ancak bu seçeneklerden yalnızca ikisinin gerekli olduğu kullanım durumları vardır ve bu gibi durumlarda yalnızca bu ikisi gösterilir.
![Kullanıcı bu seçeneklerden birini seçer Tristate location permissions screen](https://source.android.com/static/docs/core/permissions/images/tristate-image.png?authuser=5&hl=tr)
Bunlar üç seçenek:
- Her zaman izin ver : Uygulama kullanımda olmadığında (arka planda çalışırken) bile cihazın konumu uygulama tarafından bilinir. Bu, Android 9 ve önceki sürümlerde izin verilmesine eşdeğerdir.
- Yalnızca uygulama kullanımdayken izin ver : (yalnızca ön planda) cihazın konumu yalnızca uygulama aktif olarak çalışırken görülebilir.
- Reddet : Cihazın konumu uygulama tarafından hiçbir zaman görülmez. Bu, Android 9 ve önceki sürümlerde izni reddetmekle aynıdır.
Uygulamalar izin istediğinde kullanıcılardan konum erişimi izni vermeleri istenir.
Bir kullanıcı yalnızca uygulama kullanımdayken izin ver erişim izni verdiğinde, uygulama Her zaman izin ver seçeneğine erişimde artan bir artış talep edebilir. Kullanıcı bir istek iletişim kutusu görür ( Şekil 2'de gösterilmektedir). Kullanıcı Kullanım sırasında erişimi koru seçeneğini belirlerse uygulama bir sonraki kullanımda cihazın konumuna eriştiğinde iletişim kutusunda Sakla ve bir daha sorma seçeneği sunulur.
Android 10'u hedefleyen uygulamalar için iletişim kutusu şu koşullar altında görüntülenir:
- İzin verildikten en az 24 saat sonra.
- Yalnızca uygulama arka planda konum alıyorsa.
- Ekran açıkken ve kullanıcı başka bir uygulama kullanmıyorken.
![Kullanıcı için artımlı izinler Incremental permissions](https://source.android.com/static/docs/core/permissions/images/incremental-permissions-screen.png?authuser=5&hl=tr)
İzin isteme hakkında daha fazla bilgi edinmek için bkz. Cihaz konumuna uygulama erişimi . Uygulamanızın Android 9 ve önceki sürümleri hedefleyip hedeflemediğiyle ilgili ayrıntılar için Kullanıcı tarafından başlatılan işlemin devamı bölümüne bakın.
Darbe
Üç durumlu konum izinleri özelliği, arka planda çalışırken cihazın konum erişimine ihtiyaç duyan tüm uygulamaları etkiler ve Android 10'da gereklidir.
Kodunuzu değiştirebilirsiniz ancak çerçevedeki izinle ilgili davranışı değiştiremez veya özelleştiremezsiniz.
Uygulama
Üç durumlu konum izinleri, uygulamanın hedef SDK'sından bağımsız olarak Android 10'daki uygulamalara uygulanır.
Uygulamanızın kullanım örneklerini (yükseltmelerde) uygulamaya ilişkin bilgi için geliştirici belgelerindeki Cihaz yükseltme senaryoları için tasarım bölümüne bakın.
Farklı kullanım durumları (Google Haritalar veya Google Play hizmetleri gibi uygulamalar için arka planda konum erişimini zorunlu kılmak gibi) için erişimin nasıl etkinleştirileceğini görmek üzere Uygulamanın cihaz konumuna erişimi sayfasında şu konuları görüntüleyin:
Uygulama içi konum erişimi
Kullanıcılar isterlerse uygulamayı kullanırken uygulamanızın erişim izinlerini Reddet veya İzin Ver olarak değiştirebilirler. Uygulama içi konum erişimi izni ve tüm birinci taraf ve üçüncü taraf uygulamaları için aşağıdaki tabloda verilen kullanıcı kontrolü düzeylerini sağlayın.
İzin türü uygulamasının talep etmesi gerekiyor | Sağlanacak kullanıcı seçenekleri |
---|---|
Uygulama yalnızca ön plan izinlerini ister | Yalnızca uygulamayı kullanırken izin ver Reddetmek |
Uygulama her zaman izin ister (ön plan ve arka plan) | Her zaman izin ver Yalnızca uygulamayı kullanırken izin ver Reddetmek |
Konum erişimi istekleri olan tüm uygulamalar | Yalnızca uygulamayı kullanırken izin ver |
Bu izinler tüm konum istekleri için geçerlidir. Yalnızca uygulama izinlerini kullanırken İzin Ver seçeneği olan uygulamalara, arka planda Wi-Fi veya hücre taramalarına izin verilmez.
Android 11 veya önceki sürümlerde, Yalnızca uygulama izinleri kullanılırken izin ver seçeneği bulunan uygulamaların arka planda Bluetooth taramalarına izin verilmez. Android 12'den itibaren, Yalnızca uygulama izinlerini kullanırken İzin Ver özelliğine sahip uygulamalar android:usesPermissionFlags
özelliğinin değerini neverForLocation
olarak ayarlayarak Bluetooth tarama sonuçları elde edebilir. Daha fazla ayrıntı için bkz. Uygulama fiziksel konumu türetmiyor .
İşletim sistemi yükseltmeleri
İşletim sisteminin Android 10'a yükseltilmesinde uygulama konum izinleri aşağıdakilere göre çevrilir:
- Açık, Kullanım sırasında Yalnızca İzin Ver olur .
- Kapalı kapalı kalır ( Reddet ).
- Önceden verilen konum erişimi, Yalnızca kullanımdayken izin ver ön izni haline gelir.