Arka planda konum bilgisi isteğinde bulunma

Bu sayfada aşağıdakiler ele alınmaktadır:

  • Arka planda konum erişimi isteğinde bulunma.
  • Uygulamanızın hedef SDK sürümüne göre isteği işleme şekli.
  • Kullanıcıların yaklaşık konum tercihleri, uygulamanızın arka planda konum bilgisi almasını nasıl etkiler?
Şekil 7. Ayarlar sayfasında, arka planda konum erişimi sağlayan Her zaman izin ver adlı bir seçenek bulunur.

İzin iletişim kutusu içeriği, 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 bilgisi istediğinde sistem izinleri iletişim kutusunda Her zaman izin ver adlı bir seçenek yer alır. 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 yer almaz. Bunun yerine, kullanıcıların arka plan konumunu Şekil 7'de gösterildiği gibi bir ayarlar sayfasından etkinleştirmesi gerekir.

Arka planda konum izni isterken en iyi uygulamaları uygulayarak 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 döndürüyorsa kullanıcılara aşağıdakileri içeren eğitici bir kullanıcı arayüzü gösterin:

  • Uygulamanızın özelliğinin arka planda konum bilgisine neden erişmesi gerektiğine dair net bir açıklama.
  • Arka plan konumuna izin veren ayar seçeneğinin kullanıcı tarafından görülebilen etiketi (örneğin, şekil 7'deki Her zaman izin ver). Bu etiketi almak için getBackgroundPermissionOptionLabel() numaralı telefonu 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 reddetmesi için bir seçenek. Kullanıcılar arka planda konum erişimini reddederse uygulamanızı kullanmaya devam edebilirler.
Kullanıcılar, bir uygulamanın konum ayarlarını değiştirmek için sistem bildirimine dokunabilir.
Şekil 8. Kullanıcıya, bir uygulamaya arka planda konum erişimi verdiğini hatırlatan bildirim.

Uygulama, Android 10 veya önceki 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, ayarlar sayfasındaki uygulamanızın konum izni seçeneklerine gitme seçeneği bulunur.

Uygulamanız, konum izni istemeyle ilgili en iyi uygulamalara uyduğu sürece bu davranışı desteklemek için herhangi bir değişiklik yapmanız gerekmez.

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

Kullanıcı yaklaşık konum isterse kullanıcının konum izinleri iletişim kutusundaki seçimleri arka planda konum için de geçerli olur. Diğer bir deyişle, kullanıcı uygulamanıza ACCESS_BACKGROUND_LOCATION iznini verir ancak yalnızca ön planda 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