Arka planda konum bilgisi isteğinde bulunma

Bu sayfada aşağıdaki konular ele alınmaktadır:

  • Arka planda konum erişimi isteme
  • Uygulamanızın hedef SDK sürümüne göre isteği nasıl işleyeceğiniz.
  • Kullanıcının yaklaşık konum tercihlerinin, uygulamanızın arka planda konum bilgisini alma şeklini nasıl etkilediği
Şekil 7. Ayarlar sayfasında, arka planda konum erişimi izni veren Her zaman izin ver seçeneği bulunur.

İzin iletişim kutusu içerikleri, hedef SDK sürümüne bağlıdır

Uygulamanızdaki bir özellik, Android 10 (API düzeyi 29) çalıştıran bir cihazda arka planda konum izni istediğinde sistem izinleri iletişim kutusunda Her zaman izin ver adlı bir seçenek bulunur. Kullanıcı bu seçeneği belirlerse uygulamanızdaki özellik, arka planda konum erişimi elde eder.

Ancak Android 11 (API düzeyi 30) ve sonraki sürümlerde sistem iletişim kutusunda Her zaman izin ver seçeneği yoktur. Bunun yerine kullanıcılar, Şekil 7'de gösterildiği gibi ayarlar sayfasında arka planda konum erişimini etkinleştirmelidir.

Arka planda konum izni isterken en iyi uygulamaları takip ederek kullanıcıların bu ayarlar sayfasına gitmesine yardımcı olabilirsiniz. İzin verme süreci, uygulamanızın hedef SDK sürümüne bağlıdır.

Uygulama, Android 11 veya sonraki sürümleri hedefliyor

Uygulamanıza ACCESS_BACKGROUND_LOCATION izni verilmediyse ve shouldShowRequestPermissionRationale(), true değerini döndürüyorsa kullanıcılara aşağıdakileri içeren bilgilendirici bir kullanıcı arayüzü gösterin:

  • Uygulamanızın özelliğinin neden arka planda konum erişimine ihtiyaç duyduğuna dair net bir açıklama.
  • Arka planda konum izni veren ayar seçeneğinin kullanıcı tarafından görülebilen etiketi (ör. Şekil 7'deki Her zaman izin ver). Bu etiketi almak için getBackgroundPermissionOptionLabel() numarasını arayabilirsiniz. Bu yöntemin döndürdüğü değer, kullanıcının cihaz dil tercihine göre yerelleştirilir.
  • Kullanıcıların izni reddetme seçeneği. Kullanıcılar arka planda konum erişimini reddederse uygulamanızı kullanmaya devam edebilmelidir.
Kullanıcılar, bir uygulamanın konum ayarlarını değiştirmek için sistem bildirimine dokunabilir.
8. şekil. Kullanıcıya bir uygulamaya arka planda konum erişimi izni verdiğini hatırlatan bildirim.

Uygulama, Android 10 veya daha eski sürümleri hedefliyor

Uygulamanızdaki bir özellik arka planda konum erişimi istediğinde kullanıcılar bir sistem iletişim kutusu görür. Bu iletişim kutusunda, bir ayarlar sayfasında uygulamanızın konum izni seçeneklerine gitme seçeneği bulunur.

Uygulamanız konum izinlerini istemeyle ilgili en iyi uygulamaları zaten takip ediyorsa bu davranışı desteklemek için herhangi bir değişiklik yapmanız gerekmez.

Kullanıcı, arka plan konum doğruluğunu etkileyebilir

Kullanıcı yaklaşık konum isterse konum izinleri iletişim kutusundaki seçimleri arka planda konum için de geçerli olur. Başka bir deyişle, kullanıcı uygulamanıza ACCESS_BACKGROUND_LOCATION izni verir ancak ön planda yalnızca yaklaşık konum erişimi verirse uygulamanız arka planda da yalnızca yaklaşık konum erişimine sahip olur.

Ek kaynaklar

Android'deki konum izinleri hakkında daha fazla bilgi için aşağıdaki materyalleri inceleyin:

Codelab uygulamaları

Videolar

Örnekler