Ö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 üzerindeki 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
JobSchedulerile planlanan işlerin yanı sıra WorkManager veyaDownloadManagergibi 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 hizmetlerinindataSyncne 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_WINDOWiznine sahip uygulamaların, arka plandan ön plan hizmeti başlatmasına yalnızca şu durumlarda izin verilir: Uygulama şu anda görünür bir yer paylaşımı penceresine sahipse veya arka planda başlatma kısıtlamalarından muafiyet koşullarından birini karşılı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_SERVICEhem deFOREGROUND_SERVICE_CAMERAizinlerini istemeniz gerekir. Bir uygulama API düzeyi 34 veya sonraki sürümleri hedefliyorsa ve uygun izni istemiyorsa sistemSecurityExceptionoluş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
cameraveyamicrophonehizmet 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,
locationhizmet 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.