Ön plan hizmeti dokümanlarında, Android ön plan hizmetlerinin mevcut davranışı açıklanmaktadır. Belgelerde, Android'in en son sürümünü hedefleyip hedeflemediklerine bakılmaksızın çoğu uygulama için en iyi uygulamalarla ilgili yol gösterici bilgiler verilmektedir.
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 ilgili çalışma zamanı kotalarına uymalıdır. Doğrudan
JobSchedulerile planlanan işlerin yanı sıra WorkManager veyaDownloadManagergibi diğer kitaplıklar tarafından oluşturulan işler de buna dahildir.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 sonraki sürümleri hedefleyen uygulamalar için aşağıdaki şartlar geçerlidir:
dataSyncön plan hizmetinin ne kadar süre çalışabileceğiyle ilgili yeni kısıtlamalar var. 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 hizmet türü için de geçerlidir.BOOT_COMPLETEDön plan hizmetlerinin artık belirli ön plan hizmetlerini başlatmasına izin verilmez.SYSTEM_ALERT_WINDOWiznine sahip uygulamaların, arka plandan ön plan hizmetlerini başlatmasına yalnızca görünür bir yer paylaşımlı penceresi varsa (veya arka planda başlatma kısıtlamalarıyla ilgili diğer muafiyetlerden birini karşılıyorsa) izin verilir. Daha önce bu uygulamalar için muafiyet daha geniş kapsamlıydı.
Android 14 (API düzeyi 34)
Aşağıdaki şartlar, API düzeyi 34 veya sonraki sürümleri hedefleyen uygulamalar için geçerlidir:
- Tüm ön plan hizmetlerini hizmet türleriyle birlikte beyan etmeniz gerekir.
- Uygulamalar, ön plan hizmetinin yapacağı iş türü için uygun izin türünü istemelidir. Her ön plan hizmet 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 özel izni istemiyorsa sistemSecurityExceptionhatası verir.
Android 12 (API düzeyi 31)
Aşağıdaki şartlar, API düzeyi 31 veya daha yüksek sürümleri hedefleyen uygulamalar için 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 için Arka plandan ön plan hizmeti başlatmayla ilgili kısıtlamalar başlıklı makaleyi inceleyin.
Android 11 (API düzeyi 30)
Aşağıdaki şartlar, API düzeyi 30 veya daha yüksek sürümleri hedefleyen uygulamalar için geçerlidir:
- Bir uygulamanın ön plan hizmetleri kamerayı veya mikrofonu kullanıyorsa uygulamanın, hizmeti sırasıyla
cameraveyamicrophonehizmet türüyle tanımlaması gerekir.
Android 10 (API düzeyi 29)
Aşağıdaki şartlar, API düzeyi 29 veya üstünü hedefleyen uygulamalar için 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, FOREGROUND_SERVICE iznini kullanıma sunar. Android 9'da çalışan ve ön plan hizmetlerini kullanan uygulamaların bu izne sahip olması gerekir.
API düzeyi 28 veya daha yüksek bir sürümü hedefleyen bir uygulama, FOREGROUND_SERVICE iznini istemeden ön plan hizmeti oluşturmaya çalışırsa sistem SecurityException hatası verir.