<hizmet>

söz dizimi:
<service android:description="string resource"
         android:directBootAware=["true" | "false"]
         android:enabled=["true" | "false"]
         android:exported=["true" | "false"]
         android:foregroundServiceType=["camera" | "connectedDevice" |
                                        "dataSync" | "health" | "location" |
                                        "mediaPlayback" | "mediaProjection" |
                                        "microphone" | "phoneCall" |
                                        "remoteMessaging" | "shortService" |
                                        "specialUse" | "systemExempted"]
         android:icon="drawable resource"
         android:isolatedProcess=["true" | "false"]
         android:label="string resource"
         android:name="string"
         android:permission="string"
         android:process="string"
         android:stopWithTask=["true" | "false"]>
    ...
</service>
içinde bulunan:
<application>
Şunları içerebilir:
<intent-filter>
<meta-data>
<property>
description:
Bir hizmeti, Service alt sınıfını uygulamanın bileşenlerinden biri olarak beyan eder. Etkinliklerin aksine hizmetlerde görsel kullanıcı arayüzü yoktur. Uzun süren arka plan işlemlerini veya diğer uygulamalar tarafından çağrılabilen zengin iletişim API'sini uygulamak için kullanılırlar.

Tüm hizmetler, manifest dosyasında <service> öğeleriyle temsil edilmelidir. Burada beyan edilmeyenler sistem tarafından görülmez ve hiçbir zaman yayınlanmaz.

Not: Android 8.0 (API düzeyi 26) ve sonraki sürümlerde sistem, uygulamanızın arka planda çalışırken yapabileceklerini sınırlar. Daha fazla bilgi için Arka planda yürütme sınırları ve Arka planda konum sınırları ile ilgili kılavuzlara bakın.

özellikleri:
android:description
Hizmeti açıklayan, kullanıcı tarafından okunabilir bir dize. Açıklama, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilmesi için dize kaynağına referans olarak ayarlanır.
android:directBootAware

Hizmetin doğrudan başlatma uyumlu olup olmadığı, yani kullanıcının cihazın kilidini açmasından önce çalışıp çalışamayacağı.

Not: Doğrudan başlatma sırasında uygulamanızdaki bir hizmet yalnızca cihaz korumalı depolama alanında saklanan verilere erişebilir.

Varsayılan değer "false"'dır.

android:enabled
Hizmetin sistem tarafından oluşturulup oluşturulamayacağı. Mümkünse "true", değilse "false" değerini girin. Varsayılan değer "true"'dır.

<application> öğesinin, hizmetler de dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendi enabled özelliği vardır. Hizmetin etkinleştirilmesi için <application> ve <service> özelliklerinin her ikisi de "true" olmalıdır. Bu özellikler varsayılan olarak "true"'dir. İkisinden biri "false" ise hizmet devre dışı bırakılır ve başlatılamaz.

android:exported
Diğer uygulamaların bileşenlerinin hizmeti çağırıp çağıramayacağı veya hizmetle etkileşimde bulunup bulunamayacağı. Bu, kullanıcının yapıp yapamayacağına bağlı olarak "true" veya "false" olur. Değer "false" olduğunda yalnızca aynı uygulamanın bileşenleri veya aynı kullanıcı kimliğine sahip uygulamalar hizmeti başlatabilir ya da hizmete bağlanabilir.

Varsayılan değer, hizmetin amaç filtreleri içerip içermediğine bağlıdır. Filtrelerin olmaması, yalnızca tam sınıf adı belirtilerek çağrılabileceği anlamına gelir. Bu, hizmetin yalnızca uygulama içinde kullanıma yönelik olduğunu gösterir. Çünkü diğerleri sınıf adını bilmez. Bu durumda varsayılan değer "false" olur. Diğer yandan, en az bir filtrenin bulunması hizmetin harici kullanım için tasarlandığını gösterir. Bu nedenle varsayılan değer "true" olur.

Bu özellik, bir hizmetin diğer uygulamalara maruz kalmasını sınırlamanın tek yolu değildir. Hizmetle etkileşime girebilecek harici öğeleri sınırlamak için de izin kullanabilirsiniz. permission özelliğini inceleyin.

android:foregroundServiceType

Hizmetin belirli bir kullanım alanını karşılayan bir ön plan hizmeti olduğunu belirtir. Örneğin, bir ön plan hizmet türü, uygulamanın cihazın mevcut konumunu aldığını gösterir. Bu genellikle cihaz konumuyla ilgili kullanıcı tarafından başlatılan bir işlemi devam ettirmek için yapılır."location"

Belirli bir hizmete birden fazla ön plan hizmeti türü atayabilirsiniz.

android:icon
Hizmeti temsil eden bir simge. Bu özellik, resim tanımını içeren drawable kaynağa referans olarak ayarlanır. Ayarlanmamışsa bunun yerine uygulamanın tamamı için belirtilen simge kullanılır. <application> öğesinin icon özelliğine bakın.

Burada veya <application> öğesiyle ayarlanan hizmet simgesi, hizmetin tüm amaç filtreleri için de varsayılan simgedir. <intent-filter> öğesinin icon özelliğine bakın.

android:isolatedProcess
"true" olarak ayarlanırsa bu hizmet, sistemin geri kalanından izole edilmiş ve kendi izinleri olmayan özel bir işlem altında çalışır. Bu hizmetle yalnızca Service API üzerinden iletişim kurulur. Bağlama ve başlatma işlemleri bu API üzerinden yapılır.
android:label
Hizmetin kullanıcı tarafından okunabilir adı. Bu özellik ayarlanmazsa bunun yerine uygulamanın tamamı için ayarlanan etiket kullanılır. <application> öğesinin label özelliğine bakın.

Hizmetin etiketi (burada veya <application> öğesiyle ayarlanmış olsun) aynı zamanda hizmetin tüm amaç filtrelerinin varsayılan etiketidir. <intent-filter> öğesinin label özelliğine bakın.

Etiket, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilmesi için dize kaynağına referans olarak ayarlanır. Ancak uygulamayı geliştirirken kolaylık sağlaması için ham dize olarak da ayarlanabilir.

android:name
Hizmeti uygulayan Service alt sınıfının adı. Bu, "com.example.project.RoomService" gibi tam nitelikli bir sınıf adıdır. Ancak kısa bir yol olarak, adın ilk karakteri nokta ise (ör. ".RoomService"), <manifest> öğesinde belirtilen paket adına eklenir.

Uygulamanızı yayınladıktan sonra android:exported="false" ayarını yapmadığınız sürece bu adı değiştirmeyin.

Varsayılan değer yoktur. Ad belirtilmelidir.

android:permission
Bir öğenin hizmeti başlatmak veya hizmete bağlanmak için ihtiyaç duyduğu iznin adı. startService(), bindService() veya stopService() numaralı bir arayana bu izin verilmezse yöntem çalışmaz ve Intent nesnesi hizmete teslim edilmez.

Bu özellik ayarlanmazsa hizmet için <application> öğesinin permission özelliği tarafından belirlenen izin geçerli olur. İki özellik de ayarlanmamışsa hizmet, izinle korunmaz.

İzinler hakkında daha fazla bilgi için uygulama manifestine genel bakış ve güvenlik yönergeleri bölümündeki İzinler'e bakın.

android:process
Hizmetin çalıştığı sürecin adı. Normalde, bir uygulamanın tüm bileşenleri uygulama için oluşturulan varsayılan süreçte çalışır. Uygulama paketiyle aynı ada sahiptir. <application> öğesinin process özelliği, tüm bileşenler için farklı bir varsayılan değer ayarlayabilir. Ancak bir bileşen, varsayılanı kendi process özelliğiyle geçersiz kılabilir. Bu sayede uygulamanızı birden fazla işleme yayabilirsiniz.

Bu özelliğe atanan ad iki nokta üst üste işaretiyle (:) başlıyorsa gerektiğinde uygulama için özel olan yeni bir işlem oluşturulur ve hizmet bu işlemde çalışır.

İşlem adı küçük harfle başlıyorsa hizmet, bu ada sahip genel bir işlemde çalışır (bunu yapma izni varsa). Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına olanak tanıyarak kaynak kullanımını azaltır.

android:stopWithTask
"true" olarak ayarlanırsa kullanıcı, uygulamanın sahibi olduğu bir etkinliğe dayalı bir görevi kaldırdığında sistem hizmeti otomatik olarak durdurur. Varsayılan değer "false"'dır.
Ayrıca:
<application>
<activity>
Tanıtıldığı oyun:
API düzeyi 1