- 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>
- Şunlarda bulunur:
<application>
- Şunları içerebilir:
<intent-filter>
<meta-data>
- description:
- Bir hizmeti (
Service
alt sınıfı) uygulamanın bileşenlerinden biri olarak beyan eder. Etkinliklerin aksine hizmetlerde görsel kullanıcı arayüzü yoktur. Uzun süre çalışan arka plan işlemleri veya diğer uygulamalar tarafından çağrılabilecek zengin bir iletişim API'si uygulamak için kullanılırlar.Tüm hizmetler, manifest dosyasında
<service>
öğeleriyle temsil edilmelidir. Burada tanımlanmayanlar 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ırlandırır. Daha fazla bilgi için arka planda yürütme sınırlarını ve arka planda konum sınırlarını ele alan kılavuzları inceleyin.
- özellikleri:
android:description
- Hizmeti açıklayan, kullanıcıların okuyabileceği bir dize. Açıklama, kullanıcı arayüzündeki diğer dizelerde olduğu gibi yerelleştirilebilmesi için bir dize kaynağına referans olarak ayarlanır.
android:directBootAware
Hizmetin doğrudan önyükleme bilincine sahip olup olmadığı, yani kullanıcı cihazın kilidini açmadan önce çalışıp çalışamayacağı.
Not: Doğrudan Açılış sırasında uygulamanızdaki bir hizmet yalnızca cihaz korumalı depolama alanında depolanan verilere erişebilir.
Varsayılan değer:
"false"
.android:enabled
- Hizmetin sistem tarafından oluşturulup oluşturulamayacağını belirtir. Mümkünse
"true"
, değilse"false"
değerini alır. Varsayılan değer"true"
'tür.<application>
öğesinin, hizmetler dahil tüm uygulama bileşenleri için geçerli olan kendienabled
özelliği vardır. Hizmetin etkinleştirilebilmesi için<application>
ve<service>
özelliklerinin ikisi de"true"
olmalıdır (varsayılan olarak ikisi de"true"
değerine sahiptir). Bu iki değerden biri"false"
ise hizmet devre dışıdır ve örneklenemez. android:exported
- Diğer uygulamaların bileşenlerinin hizmeti çağırıp çağıramayacağı veya hizmetle etkileşimde bulunup bulunamayacağı. Mümkünse
"true"
, mümkün değilse"false"
değerini girin. Değer"false"
olduğunda yalnızca aynı uygulamanın veya aynı kullanıcı kimliğine sahip uygulamaların bileşenleri hizmeti başlatabilir ya da hizmete bağlanabilir.Varsayılan değer, hizmetin intent filtreleri içerip içermediğine bağlıdır. Filtre olmaması, yalnızca tam sınıf adı belirtilerek çağrılabileceği anlamına gelir. Diğer kullanıcılar sınıf adını bilmediği için bu, hizmetin yalnızca uygulama içinde kullanılmasını amaçladığını gösterir. Bu durumda varsayılan değer
"false"
olur. Öte yandan, en az bir filtrenin bulunması hizmetin harici kullanıma yönelik olduğunu ima eder. Bu nedenle varsayılan değer"true"
olur.Bir hizmetin diğer uygulamalara maruz kalmasını sınırlamanın tek yolu bu özellik değildir. Ayrıca, hizmetle etkileşime geçebilecek harici varlıkları sınırlamak için izin de kullanabilirsiniz.
permission
özelliğine bakın. android:foregroundServiceType
Hizmetin belirli bir kullanım alanını karşılayan bir ön plan hizmeti olduğunu belirtir. Örneğin,
"location"
ön plan hizmet türü, bir uygulamanın genellikle cihaz konumuyla ilgili kullanıcı tarafından başlatılan bir işleme devam etmek için cihazın mevcut konumunu aldığını gösterir.Belirli bir hizmete birden fazla ön plan hizmet türü atayabilirsiniz.
android:icon
- Hizmeti temsil eden bir simge. Bu özellik, resim tanımını içeren bir çizilebilir kaynağa referans olarak ayarlanır.
Bu ayar belirtilmezse bunun yerine uygulamanın tamamı için belirtilen simge kullanılır.
<application>
öğesininicon
özelliğine bakın.Burada veya
<application>
öğesi tarafından ayarlanan hizmetin simgesi, hizmetin tüm intent filtreleri için varsayılan simgedir.<intent-filter>
öğesininicon
özelliğine bakın. android:isolatedProcess
"true"
olarak ayarlanırsa bu hizmet, sistemin geri kalanından izole edilmiş ve kendi izni olmayan özel bir işlem altında çalışır. Bu hizmetle tek iletişim, bağlama ve başlatma işlemleri için Service API üzerinden yapılır.android:label
- Hizmetin kullanıcı tarafından okunabilen adı.
Bu özellik ayarlanmazsa bunun yerine uygulamanın tamamı için ayarlanan etiket kullanılır.
<application>
öğesininlabel
özelliğine bakın.Burada veya
<application>
öğesi tarafından ayarlanan hizmetin etiketi, hizmetin tüm intent filtreleri için varsayılan etikettir.<intent-filter>
öğesininlabel
özelliğine bakın.Etiket, kullanıcı arayüzündeki diğer dizelerle aynı şekilde yerelleştirilebilmesi için bir dize kaynağına referans olarak ayarlanır. Ancak uygulamayı geliştirirken kolaylık sağlamak 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ısaltma olarak, adın ilk karakteri noktaysa (ö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 ayar yoktur. Ad belirtilmelidir.
android:permission
- Bir tüzel kişinin hizmeti başlatmak veya hizmete bağlamak için ihtiyaç duyduğu iznin adı.
startService()
,bindService()
veyastopService()
kimlikli bir arayanın bu izni yoksa yöntem çalışmaz veIntent
nesnesi hizmete teslim edilmez.Bu özellik ayarlanmazsa hizmet için
<application>
öğesininpermission
özelliği tarafından ayarlanan izin geçerli olur. İki özellik de ayarlanmamışsa hizmet bir izinle korunmaz.İzinler hakkında daha fazla bilgi için uygulama manifest'ine genel bakış bölümündeki İzinler bölümünü ve Güvenlik yönergeleri'ni inceleyin.
android:process
- Hizmetin çalıştığı işlemin 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>
öğesininprocess
özelliği, tüm bileşenler için farklı bir varsayılan ayar belirleyebilir. Ancak bir bileşen, kendiprocess
özelliğiyle varsayılan değeri geçersiz kılabilir. Bu sayede uygulamanızı birden fazla sürece dağıtabilirsiniz.Bu özelliğe atanan ad iki nokta işaretiyle (
:
) başlıyorsa gerektiğinde uygulamaya özel yeni bir işlem oluşturulur ve hizmet bu işlemde çalışır.İşlem adı küçük harfle başlıyorsa hizmet, izin verildiği takdirde bu ada sahip genel bir işlemde çalışır. 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 sistem, kullanıcı uygulamanın sahibi olduğu bir etkinlikte köklenen bir görevi kaldırdığında hizmeti otomatik olarak durdurur. Varsayılan değer:"false"
.
- Ayrıca:
<application>
<activity>
- kullanıma sunulduğu sürüm:
- API düzeyi 1
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2024-12-18 UTC.
[null,null,["Son güncelleme tarihi: 2024-12-18 UTC."],[],[]]