- 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 olanenabled
ö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. öğesininicon
özelliği.Hizmetin simgesi (burada,
<application>
öğesi, aynı zamanda varsayılan simgedir. Bkz.<intent-filter>
öğesininicon
ö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>
öğesininlabel
ö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()
veyastopService()
bu izin verilmezse yöntem çalışmaz veIntent
nesnesi hizmete teslim edilmiyor.Bu özellik ayarlanmazsa
<application>
öğesininpermission
ö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>
öğesininprocess
özelliğinin değeri farklı bir varsayılan olarak ayarlamanız gerekir. Ancak bir bileşen, varsayılanı geçersiz kılabilir kendine aitprocess
ö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
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-08-22 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2024-08-22 UTC."],[],[]]