<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" >
    ...
</service>
bulunduğu yer:
<application>
şunları içerebilir:
<intent-filter>
<meta-data>
description:
Bir hizmeti, Service alt sınıfını tek olarak tanımlıyor olması için gerçekten çok önemli. Etkinliklerin aksine, hizmetlerde eksiklik görsel kullanıcı arayüzü. Bunlar, uzun süreli arka plan uygulamaları veya rich media API'si tarafından çağrılabilir. izin verir.

Tüm hizmetler <service> öğesiyle temsil edilmelidir. manifest dosyasıdır. Beyan edilmeyenler görülmedi hiçbir zaman çalıştırılmaz.

Not: Android 8.0 (API düzeyi 26) ve sonraki sürümlerde sistem sınırları arka planda çalışırken neler yapabileceğini öğrenin. Örneğin, daha fazla bilgi edinmek için arka plan yürütme sınırları ve arka planda konum hakkında daha fazla bilgi edinin.

özellikler:
android:description
Hizmeti açıklayan, kullanıcıların okuyabileceği bir dize. Açıklama diğer dizeler gibi yerelleştirilebilmesi için bir dize kaynağına referansta bulunur. kullanıcı arabiriminde anlatacağım.
android:directBootAware

Hizmetin Doğrudan Başlatma'ya duyarlı olup olmadığı, çalıştırılıp çalıştırılamayacağını belirler.

Not: Doğrudan Başlatma, uygulamanız sadece şurada saklanan verilere erişebilir: cihaz korumalı depolama alanı.

Varsayılan değer "false" değeridir.

android:enabled
Hizmetin sistem tarafından örneklendirilip başlatılamayacağı. İnsanların Mümkünse "true", değilse "false". Varsayılan değer "true".

<application> öğesi kendine ait Tümü için geçerli olan enabled özelliği hizmetler dahil uygulama bileşenlerini içerir. İlgili içeriği oluşturmak için kullanılan <application> <service> özelliklerinin ikisi de "true" olmalıdır varsayılan olarak hizmetin etkinleştirilmesi gerekir. İkisinden biri "false", hizmet devre dışı olduğu için örnek oluşturulamıyor.

android:exported
Diğer uygulamaların bileşenlerinin yapmalarına yardımcı olur. Mümkünse "true" ve Değilse "false". Değer "false" olduğunda yalnızca aynı uygulamanın veya uygulamaların bileşenleri hizmeti başlatabilir veya hizmete bağlanabilir.

Varsayılan değer, hizmetin intent filtreleri içerip içermediğine bağlıdır. İlgili içeriği oluşturmak için kullanılan herhangi bir filtre olmaması, filtrenin yalnızca tam sınıf adıdır. Bu, hizmetin yalnızca diğer kullanıcılar sınıf adını bilmediğinden uygulama içi kullanım. Bu nedenle bu durumda varsayılan değer "false" olur. Diğer yandan, en az bir filtrenin mevcut olması, hizmetin harici kullanıma yönelik olduğundan varsayılan değer "true".

Bu özellik, bir hizmetin diğer kullanıcılarla karşılaşmasını sınırlamanın tek yolu değildir. izin verir. Oluşturduğunuz harici varlıkları sınırlandırmak için hizmetle etkileşime girebilmesidir. permission inceleyin. özelliğini gönderin.

android:foregroundServiceType

Hizmetin ön plan hizmeti kullanım alanına sahip olursunuz. Örneğin, şu tür bir ön plan hizmet türü: "location", bir uygulamanın cihazdaki geçerli bilgileri aldığını gösterir konuma (genellikle devam Cihaz konumuyla ilgili olarak kullanıcı tarafından başlatılan bir işlem.

Belirli bir kullanıcıya birden fazla ön plan hizmet türü atayabilirsiniz geliştirmenizi sağlar.

android:icon
Hizmeti temsil eden bir simge. Bu özellik şu şekilde ayarlandı: resim tanımını içeren çekilebilir bir kaynağa başvurudur. Ayarlanmadıysa uygulama için belirtilen simge bunun yerine bir bütün olarak kullanılır. <application> inceleyin. öğesinin icon özelliği.

Hizmetin simgesi (burada, <application> öğesi, aynı zamanda varsayılan simgedir. Bkz. <intent-filter> öğesinin icon özelliği için de geçerlidir.

android:isolatedProcess
"true" olarak ayarlanırsa bu hizmet üzerinde hiçbir izni yoktur. Onunla tek iletişim Service API üzerinden ve bağlama ve başlatma aşamasından bahsetmek istiyorum.
android:label
Hizmetin kullanıcı tarafından okunabilen adı. Bu özellik ayarlanmazsa uygulamanın tamamı için ayarlanan etiket kullanılır. <application> öğesinin şuna bakın: label özelliği için de geçerlidir.

Hizmetin etiketi (burada, <application> öğesi, aynı zamanda varsayılan etiketi olmalıdır. Bkz. <intent-filter> öğesinin label özelliği için de geçerlidir.

Etiket, bir dize kaynağına başvuru olarak ayarlanır. Böylece, bu dizeler, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak, uygulamayı geliştirirken size kolaylık olması açısından, aynı zamanda ham dize olarak da ayarlanabilir.

android:name
Şunu uygulayan Service alt sınıfının adı: geri dönelim. Bu, "com.example.project.RoomService" Ancak kısaltması gereken adın ilk karakteri nokta (ör. ".RoomService") , <manifest> öğesi.

Uygulamanızı yayınladıktan sonra bu adı değiştiremezsiniz (android:exported="false" değerini ayarlamadığınız sürece).

Varsayılan yoktur. Ad belirtilmelidir.

android:permission
Bir varlığın şu işlemleri gerçekleştirmek için ihtiyaç duyduğu iznin adı: veya buna bağlanmasını sağlar. Bir arayan startService(), bindService() veya stopService() bu izin verilmezse yöntem çalışmaz ve Intent nesnesi hizmete teslim edilmiyor.

Bu özellik ayarlanmazsa <application> öğesinin permission özelliğinin geçerli olduğu hizmet için geçerlidir. İki özellik de ayarlanmazsa hizmet bir izinle korunuyor.

İzinler hakkında daha fazla bilgi için İzinler bölümünü inceleyin ve Güvenlik yönergeleri.

android:process
Hizmetin çalıştırıldığı işlemin adı. Normalde bir uygulamanın tüm bileşenlerinin, uygulama için oluşturulan varsayılan işlemde bir uygulamadır. Uygulama paketiyle aynı ada sahiptir. İlgili içeriği oluşturmak için kullanılan <application> öğesinin process özelliğinin değeri farklı bir varsayılan olarak ayarlamanız gerekir. Ancak bir bileşen, varsayılanı geçersiz kılabilir kendine ait process özelliğine sahip. Böylece, birden fazla işlemde kullanılabilir.

Bu özelliğe atanan ad iki nokta üst üste (:) ile başlıyorsa yeni bir uygulamaya özel bir süreç oluşturulur ve ve hizmet bu işlemde çalışır.

İşlem adı küçük harfle başlıyorsa hizmet, buna izin verilmesi gerekir. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına izin verir ve kaynak kullanımını anlatır.

ayrıca bkz.:
<application>
<activity>
tanıtıldığı yer:
API düzeyi 1