Ön plan hizmet dokümanlarında, Android ön plan hizmetlerinin mevcut davranışı açıklanmaktadır. Android'in en son sürümünü hedefleyip hedeflemedikleri fark etmeksizin, çoğu uygulama için en iyi uygulamalarla ilgili dokümanlar yol göstericidir.
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 sonuçları 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ümleri çalıştıran uygulamalar için geçerlidir:
Ön plan hizmetinden başlatılan arka plan işlerinin artık ilgili çalışma zamanı kotalarına uyması gerekir. Doğrudan
JobScheduler
ile planlanan işlerin yanı sıra WorkManager veyaDownloadManager
gibi 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şi kullanmayı düşünebilirsiniz. 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 hizmetinin ne kadar süre boyunca çalışabileceğiyle ilgili yeni kısıtlamalar vardır. Bu kısıtlamalar Ön plan hizmet zaman aşımı davranışı bölümünde açıklanmıştır. Android 15'te yeni olanmediaProcessing
ön plan hizmet türü için de benzer kısıtlamalar geçerlidir.BOOT_COMPLETED
ön plan hizmetlerinin belirli ön plan hizmetlerini başlatmasına artık izin verilmemektedir.SYSTEM_ALERT_WINDOW
iznine sahip uygulamaların, ön plan hizmetlerini arka plandan başlatmasına yalnızca şu anda görünür bir yer paylaşımı penceresi varsa (veya arka planda başlatma kısıtlamalarından muaf diğer durumlardan birindeyse) izin verilir. Daha önce bu uygulamalar için muafiyet daha genişti.
Android 14 (API düzeyi 34)
Aşağıdaki şartlar, API düzeyi 34 veya üstünü 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_SERVICE
hem deFOREGROUND_SERVICE_CAMERA
izinlerini istemeniz gerekir. Bir uygulama API düzeyi 34 veya sonraki sürümleri hedeflerken uygun özel izni istemiyorsa sistem birSecurityException
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 belirli istisnalar dışında izin verilmez. Daha fazla bilgi ve bu kuralın istisnaları hakkında bilgi için Ön plan hizmetini arka plandan 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 üstünü hedefleyen uygulamalar için geçerlidir:
- Bir uygulamanın ön plan hizmetleri kamera veya mikrofon kullanıyorsa uygulama, sırasıyla
camera
veyamicrophone
hizmet türüyle hizmeti belirtmelidir.
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 bilgisi kullanıyorsa uygulama,
location
hizmet 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 hizmetleri kullanan uygulamalarda bu izin olmalıdır.
API düzeyi 28 veya üstünü hedefleyen bir uygulama, FOREGROUND_SERVICE
iznini istemeden ön plan hizmeti oluşturmaya çalışırsa sistem bir SecurityException
hatası verir.