sintaksis:
<service android:description="string resource"
         android:directBootAware=["true" | "false"]
         android:enabled=["true" | "false"]
         android:exported=["true" | "false"]
         android:foregroundServiceType=["camera" | "connectedDevice" |
                                        "dataSync" | "location" | "mediaPlayback" |
                                        "mediaProjection" | "microphone" | "phoneCall"]
         android:icon="drawable resource"
         android:isolatedProcess=["true" | "false"]
         android:label="string resource"
         android:name="string"
         android:permission="string"
         android:process="string" >
    . . .
</service>
terdapat dalam:
<application>
dapat berisi:
<intent-filter>
<meta-data>
deskripsi:
Mendeklarasikan layanan (subclass Service) sebagai salah satu komponen aplikasi. Tidak seperti aktivitas, layanan tidak memiliki antarmuka pengguna visual. Layanan digunakan untuk mengimplementasikan operasi latar belakang yang sudah berjalan lama atau API komunikasi kaya yang bisa dipanggil oleh aplikasi lain.

Semua layanan harus diwakili oleh elemen-elemen <service> dalam file manifes. Apa pun yang tidak dideklarasikan tidak akan terlihat oleh sistem dan tidak akan dijalankan.

Catatan: Di Android 8.0 (API level 26) dan yang lebih baru, sistem membatasi operasi yang dapat dilakukan aplikasi Anda saat aplikasi berjalan di latar belakang. Untuk informasi selengkapnya, lihat panduan yang membahas batas eksekusi latar belakang dan batas lokasi latar belakang.

atribut:
android:description
String yang menjelaskan layanan kepada pengguna. Label harus ditetapkan sebagai referensi ke resource string sehingga dapat dilokalkan seperti string lain pada antarmuka pengguna.
android:directBootAware

Apakah layanan ini direct-boot aware atau tidak; yaitu, apakah dapat berjalan ataukah tidak sebelum pengguna membuka kunci perangkat.

Catatan: Selama Direct Boot, layanan dalam aplikasi Anda hanya dapat mengakses data yang disimpan di penyimpanan perangkat yang dilindungi.

Nilai default-nya adalah "false".

android:enabled
Apakah instance layanan dapat dibuat oleh sistem atau tidak; "true" jika dapat, dan "false" jika tidak dapat. Nilai defaultnya adalah "true".

Elemen <application> memiliki atribut enabled sendiri yang diterapkan ke semua komponen aplikasi, termasuk layanan. Atribut <application> dan <service> harus bernilai "true" (seperti defaultnya) agar layanan diaktifkan. Jika salah satunya bernilai "false", layanan tersebut akan dinonaktifkan dan instance-nya juga tidak dapat dibuat.

android:exported
Apakah komponen aplikasi lain dapat memanggil layanan atau berinteraksi dengannya—"true" jika bisa, dan "false" jika tidak bisa. Ketika nilainya adalah "false", hanya komponen aplikasi yang sama atau aplikasi dengan ID pengguna yang sama yang dapat memulai layanan atau mengikatnya.

Nilai default tergantung apakah layanan tersebut berisi filter intent. Tidak adanya filter berarti bahwa itu dapat dipanggil hanya dengan menentukan nama kelas yang tepat. Ini menyiratkan bahwa layanan ini dimaksudkan hanya untuk penggunaan internal aplikasi (karena orang lain tidak akan tahu nama class-nya). Jadi, dalam hal ini, nilai defaultnya adalah "false". Di sisi lain, jika ada setidaknya satu filter, artinya layanan ditujukan untuk penggunaan eksternal sehingga default nilainya adalah "true".

Atribut ini bukan satu-satunya cara untuk membatasi pemaparan layanan ke aplikasi lain. Anda juga dapat menggunakan izin untuk membatasi entitas eksternal yang dapat berinteraksi dengan layanan (lihat atribut permission).

android:foregroundServiceType

Tentukan bahwa layanan ini adalah layanan latar depan yang memenuhi kasus penggunaan tertentu. Misalnya, jenis layanan latar depan "location" menunjukkan bahwa aplikasi mendapatkan lokasi perangkat saat ini, biasanya untuk melanjutkan tindakan yang dimulai oleh pengguna yang terkait dengan lokasi perangkat.

Anda dapat menetapkan beberapa jenis layanan latar depan untuk layanan tertentu.

android:icon
Ikon yang mewakili layanan. Atribut ini harus ditetapkan sebagai referensi ke resource yang dapat digambar yang berisi definisi gambar. Jika tidak, ikon yang ditetapkan untuk aplikasi secara keseluruhan akan digunakan sebagai gantinya (lihat atribut icon milik elemen <application>).

Ikon layanan, baik yang ditetapkan di sini maupun oleh elemen <application>, juga merupakan ikon default untuk semua filter intent layanan (lihat elemen <intent-filter> atribut icon).

android:isolatedProcess
Jika disetel ke benar, layanan ini akan berjalan di bawah proses khusus yang terisolasi dari bagian sistem lainnya dan tidak memiliki izinnya sendiri. Satu-satunya komunikasi dengannya adalah melalui Service API (mengikat dan memulai).
android:label
Nama untuk layanan yang dapat ditampilkan kepada pengguna. Jika atribut ini tidak ditetapkan, label yang ditetapkan untuk aplikasi secara keseluruhan akan digunakan (lihat atribut label elemen <application>).

Label layanan baik yang ditetapkan di sini maupun oleh elemen <application>, juga merupakan label default untuk semua filter intent layanan (lihat atribut label milik elemen <intent-filter>).

Label harus ditetapkan sebagai referensi ke resource string sehingga dapat dilokalkan seperti string lain pada antarmuka pengguna. Namun, untuk memudahkan Anda mengembangkan aplikasi, label ini juga dapat ditetapkan sebagai string mentah.

android:name
Nama subclass Service yang mengimplementasikan layanan. Nama subclass ini harus sepenuhnya memenuhi syarat (seperti "com.example.project.RoomService"). Namun, sebagai pintasan, jika karakter pertamanya adalah titik (misalnya ".RoomService"), karakter ini akan ditambahkan ke nama paket yang ditetapkan dalam elemen <manifest>.

Setelah memublikasikan aplikasi, Anda tidak boleh mengubah nama ini (kecuali Anda telah menetapkan android:exported="false").

Tidak ada default untuknya. Nama ini harus ditetapkan.

android:permission
Nama izin yang harus dimiliki suatu entitas untuk meluncurkan layanan atau mengikatnya. Jika pemanggil startService(), bindService(), atau stopService(), belum diberikan izin ini, metode ini tidak akan berfungsi dan objek Intent tidak akan dikirimkan ke layanan.

Jika atribut ini tidak disetel, izin yang ditetapkan oleh atribut permission milik elemen <application> diterapkan untuk layanan tersebut. Jika tidak ada atribut yang disetel, layanan tersebut tidak dilindungi oleh izin.

Untuk mengetahui informasi izin selengkapnya, lihat bagian Izin dalam pengantar dan dokumen terpisah yang berjudul Keamanan dan Izin.

android:process
Nama proses tempat layanan harus dijalankan. Biasanya, semua komponen aplikasi berjalan pada proses default yang dibuat untuk aplikasi tersebut. Proses ini memiliki nama yang sama dengan paket aplikasi. Atribut process milik elemen <application> dapat menetapkan default yang berbeda untuk semua komponen. Namun, komponen dapat mengesampingkan default dengan atribut process miliknya sendiri sehingga Anda dapat menyebarluaskan aplikasi ke berbagai proses.

Jika nama yang ditetapkan ke atribut ini dimulai dengan titik dua (':'), proses baru, yang bersifat pribadi untuk aplikasi, dibuat saat diperlukan dan layanan berjalan dalam proses tersebut. Jika nama proses dimulai dengan karakter huruf kecil, layanan akan berjalan pada proses global dari nama tersebut, jika memiliki izin untuk melakukannya. Hal ini memungkinkan komponen dalam aplikasi yang berbeda untuk berbagi proses sehingga mengurangi penggunaan resource.

lihat juga:
<application>
<activity>
diperkenalkan di:
API Level 1