Ön plan hizmeti belgelerinde, Android ön plan hizmetlerinin mevcut davranışı açıklanmaktadır. Belgelerde, Android'in en yeni sürümünü hedefleyen veya hedeflemeyen çoğu uygulama için en iyi uygulamalarla ilgili rehberlik sağlanır.
Bu sayfada, ön plan hizmetlerinde yapılan en son önemli değişikliklerden bazıları ve Android platformunun en son sürümünü hedeflemeyen uygulamalar için bu değişikliklerin etkileri açıklanmaktadır. Çoğu durumda, daha düşük API düzeylerini hedefleyen uygulamalar için isteğe bağlı olan en iyi uygulamalar, daha yüksek API düzeylerini hedefleyen uygulamalar için zorunlu hale gelir.
Android 16 (API düzeyi 36)
Aşağıdaki değişiklikler, hedefledikleri API düzeyinden bağımsız olarak Android 16 veya sonraki sürümlerde çalışan uygulamalar için geçerlidir:
Ön plan hizmetinden başlatılan arka plan işleri artık kendi çalışma zamanı kotalarına uymak zorundadır. Buna, doğrudan
JobScheduler
ile planlanan işlerin yanı sıra WorkManager veyaDownloadManager
gibi diğer kitaplıklar tarafından oluşturulan işler de dahildir.Bir kullanıcı işlemine yanıt olarak veri aktarmak için kullanıcı tarafından başlatılan veri aktarımı işini kullanabilirsiniz. Bu işler, normal iş kotalarından muaftır.
Android 15 (API düzeyi 35)
API düzeyi 35 veya üstünü hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
dataSync
Ön plan hizmetlerinindataSync
ne kadar süreyle çalışabileceği konusunda yeni kısıtlamalar getirildi. Bu kısıtlamalar, Ön plan hizmeti zaman aşımı davranışı bölümünde açıklanmıştır. Benzer kısıtlamalar, (Android 15'te yeni olan)mediaProcessing
ön plan hizmeti türü için de geçerlidir.BOOT_COMPLETED
ön plan hizmetlerinin artık belirli ön plan hizmetlerini başlatmasına izin verilmemektedir.SYSTEM_ALERT_WINDOW
iznine sahip uygulamaların, arka plandan ön plan hizmeti başlatmasına yalnızca şu durumlarda izin verilir: Uygulamada şu anda görünür bir yer paylaşımı penceresi varsa veya arka planda başlatma kısıtlamalarından muafiyet koşullarından biri karşılanıyorsa. Daha önce bu uygulamalar için muafiyet daha geniş kapsamlıydı.
Android 14 (API düzeyi 34)
API düzeyi 34 veya üstünü hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
- Hizmet türleriyle birlikte tüm ön plan hizmetlerini beyan etmeniz gerekir.
- Uygulamalar, ön plan hizmetinin yapacağı iş türü için uygun izin türünü istemelidir. Her ön plan hizmeti türünün karşılık gelen bir izin türü vardır. Örneğin, bir uygulama kamerayı kullanan bir ön plan hizmeti başlatırsa hem
FOREGROUND_SERVICE
hem deFOREGROUND_SERVICE_CAMERA
izinlerini istemeniz gerekir. Bir uygulama API düzeyi 34 veya sonraki sürümleri hedefliyorsa ve uygun izni istemiyorsa sistemSecurityException
oluşturur.
Android 12 (API düzeyi 31)
API düzeyi 31 veya üstünü hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
- Uygulamaların, arka plandayken ön plan hizmetlerini başlatmasına izin verilmez. Bu kuralın birkaç istisnası vardır. Daha fazla bilgi ve bu kuralın istisnaları hakkında bilgi edinmek için Arka plandan ön plan hizmeti başlatmayla ilgili kısıtlamalar başlıklı makaleyi inceleyin.
Android 11 (API düzeyi 30)
API düzeyi 30 veya üstünü hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
- Bir uygulamanın ön plan hizmetleri kamera veya mikrofonu kullanıyorsa uygulama, sırasıyla
camera
veyamicrophone
hizmet türüyle hizmeti bildirmelidir.
Android 10 (API düzeyi 29)
API düzeyi 29 veya üstünü hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
- Bir uygulamanın ön plan hizmetleri konum bilgilerini kullanıyorsa uygulama,
location
hizmet türüyle hizmeti beyan etmelidir.
Android 9 (API düzeyi 28)
Android 9'da FOREGROUND_SERVICE
izni kullanıma sunulmuştur. Android 9'da çalışan ve ön plan hizmetlerini kullanan uygulamalarda bu izin olmalıdır.
API düzeyi 28 veya üstünü hedefleyen bir uygulama, FOREGROUND_SERVICE
izni istemeden ön plan hizmeti oluşturmaya çalışırsa sistem SecurityException
hatası verir.