Tristate Konum İzinleri

Android 10'daki Tristate 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 verirken kalıcı seçimler yaptı. Deny veya Allow olabilir, ikincisi uygulamalara her zaman erişim sağlar (ön plan ve arka plan). Android 10'daki Tristate konum izinleri, kullanıcılara bir uygulamanın bir cihazın konumuna erişmesine izin vermek için üç seçenek sunar. Bir uygulama istediğinde, kullanıcılardan izin düzeyini vermeleri veya reddetmeleri istenir.

Bir 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.

Tristate location permissions screen
Şekil 1. Tristate bildirimleri ekranı

Bunlar üç seçenek:

  • Her zaman izin ver : Uygulama kullanımda değilken (arka planda çalışırken) bile cihazın konumu uygulama tarafından bilinir. Bu, Android 9 ve daha düşük sürümlerde izne izin vermekle eşdeğerdir.
  • Yalnızca uygulama kullanımdayken izin ver : (yalnızca ön planda) cihazın konumu, yalnızca etkin olarak çalışırken uygulama tarafından görülebilir.
  • Reddet : Cihazın konumu hiçbir zaman uygulama tarafından 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şim izni vermeleri istenir.

Bir kullanıcı, yalnızca uygulama kullanımdayken İzin Ver erişim izni verdiğinde, bir uygulama Her zaman izin ver erişiminde kademeli bir artış talep edebilir. Kullanıcı bir istek iletişim kutusu görür ( Şekil 2'de gösterilmiştir). Kullanıcı Kullanımdayken erişimi koru seçeneğini belirlerse, uygulama bir sonraki kullanımda cihaz konumuna eriştiğinde, iletişim kutusu Sakla ve bir daha sorma seçeneği sunar.

İletişim kutusu, Android 10'u hedefleyen uygulamalar için şu koşullar altında görünür:

  • İ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.
Incremental permissions
Şekil 2. Artımlı izinler

İzin isteme hakkında daha fazla bilgi edinmek için Cihaz konumuna uygulama erişimi bölümüne bakın. Uygulamanız Android 9 ve önceki sürümleri hedefliyorsa ayrıntılar için bkz . Kullanıcı tarafından başlatılan işlemin devamı .

Darbe

Üç durumlu konum izinleri özelliği, arka planda çalışırken cihaz konumu erişimine ihtiyaç duyan ve Android 10'da gerekli olan tüm uygulamaları etkiler.

Kodunuzu değiştirebilirsiniz ancak çerçevedeki izinle ilgili davranışı değiştiremez veya özelleştiremezsiniz.

uygulama

Tristate konum izinleri, bir uygulamanın hedef SDK'sından bağımsız olarak Android 10'daki uygulamalara uygulanır.

Uygulamanızın kullanım senaryolarını (yükseltmelerde) uygulama hakkında 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şimi gerektirme gibi) için erişimin nasıl etkinleştirileceğini görmek için , cihaz konumuna Uygulama erişimi sayfasında şu konuları görüntüleyin:

Uygulama içi konum erişimi

Kullanıcılar, isterlerse yalnızca uygulamayı kullanırken uygulamanızın erişim izinlerini Reddet veya İzin Ver olarak değiştirebilirler. Uygulama içi konum erişim izni ve tüm birinci taraf ve üçüncü taraf uygulamalar için aşağıdaki tabloda verilen kullanıcı denetimi 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şim istekleri olan tüm uygulamalar Yalnızca uygulamayı kullanırken izin ver

Bu izinler tüm konum istekleri için geçerlidir. İzin Ver'e sahip uygulamalara, yalnızca uygulama izinlerini kullanırken arka planda Wi-Fi veya hücre taramalarına izin verilmez.

Android 11 veya önceki sürümlerde, yalnızca uygulama izinlerini kullanırken İzin Ver'e sahip uygulamaların arka planda Bluetooth taramalarına izin verilmez. Android 12'den itibaren, İzin Ver'e sahip uygulamalar, yalnızca uygulama izinlerini kullanırken android:usesPermissionFlags özniteliğinin değerini neverForLocation olarak ayarlayarak Bluetooth tarama sonuçları alabilir. Daha fazla ayrıntı için bkz. Uygulama fiziksel konum türetmiyor .

işletim sistemi yükseltmeleri

Android 10'a bir işletim sistemi yükseltmesinde, uygulama konumu izinleri aşağıdakilere göre çevrilir:

  • Açık , yalnızca Kullanımdayken İzin Ver olur.
  • Kapalı ( Reddet ) kapalı kalır.
  • Önceden izin verilen konum erişimi, yalnızca kullanımdayken önceden izin verilen İzin Ver olur.