Tristate konum izinleri

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 verirken kalıcı seçimler yapardı. Kullanıcılar reddetme veya izin verme seçeneklerinden birini belirleyebilirdi. İzin verme seçeneği, uygulamalara her zaman (ön planda ve arka planda) erişim veriyordu. Android 10'daki üç durumlu konum izinleri, kullanıcılara bir uygulamanın cihazın konumuna erişmesine izin vermek için üç seçenek sunar. Uygulamalar izin düzeyi istediğinde kullanıcılardan bu izin düzeyini vermeleri veya reddetmeleri istenir.

Kullanıcı genellikle Şekil 1'de gösterilen üç seçeneği görür. Ancak bu seçeneklerden yalnızca ikisinin gerekli olduğu kullanım alanları da vardır ve bu tür durumlarda yalnızca bu iki seçenek gösterilir.

Üç durumlu konum izinleri ekranı

Şekil 1. Üç durumlu bildirimler ekranı.

Üç seçenek vardır:

  • Her zaman izin ver: Uygulama, kullanımda değilken (arka planda çalışırken) bile cihazın konumunu bilir. Bu, Android 9 ve önceki sürümlerde izin vermeye eşdeğerdir.
  • Yalnızca uygulama kullanılırken izin ver: (yalnızca ön planda) Cihazın konumu yalnızca uygulama etkin olarak çalışırken uygulama tarafından görülebilir.
  • Reddet: Cihazın konumu uygulama tarafından hiçbir zaman görülemez. 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.

Kullanıcı Yalnızca uygulama kullanılırken izin ver erişim iznini verdikten sonra uygulama, Her zaman izin ver olarak erişimde kademeli bir artış isteyebilir. Kullanıcıya bir istek iletişim kutusu gösterilir (Şekil 2'de gösterilmiştir). Kullanıcı Kullanımdayken erişimi koru'yu seçerse uygulama bir sonraki kullanımda cihaz konumuna erişirken iletişim kutusunda Koru ve tekrar sorma seçeneği sunulur.

İletişim kutusu, Android 10'u hedefleyen uygulamalarda aşağıdaki koşullarda gösterilir:

  • İzin verildikten en az 24 saat sonra.
  • Yalnızca uygulama arka planda konum bilgisi alıyorsa.
  • Ekran açıkken ve kullanıcı başka bir uygulamayı kullanmıyorken.
Artımlı izinler

Şekil 2. Artımlı izinler.

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

Etki

Üç durumlu konum izinleri özelliği, arka planda çalışırken cihaz konumuna erişmesi gereken 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 alanlarını uygulama (yükseltmelerde) hakkında bilgi edinmek için geliştirici dokümanlarında Devre yükseltme senaryoları için tasarım bölümüne bakın.

Farklı kullanım alanları için erişimin nasıl etkinleştirileceğini (ör. Google Haritalar veya Google Play Hizmetleri gibi uygulamalar için arka planda konum erişimi gerektirme) görmek üzere Cihaz konumuna uygulama erişimi sayfasında şu konuları inceleyin:

Uygulama içi konum erişimi

Kullanıcılar, uygulamanızın erişim izinlerini Reddet veya Yalnızca uygulamayı kullanırken olarak değiştirebilir. 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ı denetimi düzeylerini sağlayın.

Uygulamanın istemesi gereken izin türü Kullanıcılara sunulacak seçenekler
Uygulama yalnızca ön plan izinleri istiyor Yalnızca uygulama kullanılırken izin ver
Reddet
Uygulama her zaman izin ister (ön planda ve arka planda) Her zaman izin ver
Yalnızca uygulamayı kullanırken izin ver
Reddet
Konum erişimi isteği olan tüm uygulamalar Yalnızca uygulama kullanılırken izin ver

Bu izinler tüm konum istekleri için geçerlidir. Yalnızca uygulamayı kullanırken izinlerine sahip uygulamaların arka planda kablosuz ağ veya hücre taraması yapmasına izin verilmez.

Android 11 veya önceki sürümlerde, Yalnızca uygulamayı kullanırken izinlerine sahip uygulamaların arka planda Bluetooth taraması yapmasına izin verilmez. Android 12'den itibaren, Yalnızca uygulamayı kullanırken izinlerine sahip uygulamalar, android:usesPermissionFlags özelliğinin değerini neverForLocation olarak ayarlayarak Bluetooth tarama sonuçları elde edebilir. Daha fazla bilgi için Uygulama fiziksel konumu elde etmiyor başlıklı makaleyi inceleyin.

İşletim sistemi yükseltmeleri

Android 10'a yükseltilen işletim sistemlerinde uygulama konum izinleri aşağıdaki şekilde dönüştürülür:

  • Açık, Yalnızca Kullanımdayken İzin Ver olarak değişir.
  • Kapalı seçeneği kapalı kalır (Reddet).
  • Önceden verilmiş konum erişimi, Yalnızca kullanımdayken izin ver ön izni olur.