ContextWrapper.StartService(Intent) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Minta agar layanan aplikasi tertentu dimulai.
[Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")]
public override Android.Content.ComponentName? StartService(Android.Content.Intent? service);
[<Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")>]
override this.StartService : Android.Content.Intent -> Android.Content.ComponentName
Parameter
- service
- Intent
Mengidentifikasi layanan yang akan dimulai. Niat harus sepenuhnya eksplisit (menyediakan nama komponen) atau menentukan nama paket tertentu yang ditargetkannya. Nilai tambahan dapat disertakan dalam ekstra Niat untuk menyediakan argumen bersama dengan panggilan mulai khusus ini.
Mengembalikan
Minta agar layanan aplikasi tertentu dimulai. Niat harus berisi nama kelas lengkap dari implementasi layanan tertentu untuk memulai, atau nama paket tertentu untuk ditargetkan. Jika Niat kurang ditentukan, niat mencatat peringatan tentang hal ini. Dalam hal ini salah satu dari beberapa layanan yang cocok dapat digunakan. Jika layanan ini belum berjalan, layanan ini akan dibuat dan dimulai (membuat proses untuk itu jika diperlukan); jika berjalan maka tetap berjalan. Setiap panggilan ke metode ini akan menghasilkan panggilan yang sesuai ke metode Service.onStartCommand(Intent, int, int), dengan niat yang diberikan di sini. Ini menyediakan cara mudah untuk mengirimkan pekerjaan ke layanan tanpa harus mengikat dan memanggil antarmukanya. Menggunakan startService() mengambil alih masa pakai layanan default yang dikelola oleh bindService(Intent, BindServiceFlags, Executor, ServiceConnection) : ini mengharuskan layanan untuk tetap berjalan sampai stopService(Intent) dipanggil, terlepas dari apakah ada klien yang terhubung ke layanan tersebut. Perhatikan bahwa panggilan ke startService() tidak bersarang: tidak peduli berapa kali Anda memanggil startService(), satu panggilan ke stopService(Intent) akan menghentikannya. Sistem mencoba untuk terus menjalankan layanan sebanyak mungkin. Satu-satunya waktu mereka harus dihentikan adalah jika aplikasi latar depan saat ini menggunakan begitu banyak sumber daya sehingga layanan perlu dimatikan. Jika ada kesalahan yang terjadi dalam proses layanan, kesalahan tersebut akan dimulai ulang secara otomatis. Fungsi ini akan melempar SecurityException jika Anda tidak memiliki izin untuk memulai layanan yang diberikan. Catatan: Setiap panggilan ke startService() menghasilkan pekerjaan signifikan yang dilakukan oleh sistem untuk mengelola siklus hidup layanan seputar pemrosesan niat, yang dapat memakan waktu beberapa milidetik CPU. Karena biaya ini, startService() tidak boleh digunakan untuk pengiriman niat yang sering ke layanan, dan hanya untuk menjadwalkan pekerjaan yang signifikan. Gunakan layanan terikat untuk panggilan frekuensi tinggi. Dimulai dengan Build.VERSION_CODES Versi SDK. O , aplikasi yang menargetkan Build.VERSION_CODES Versi SDK. O atau yang lebih tinggi tidak diizinkan untuk memulai layanan latar belakang dari latar belakang. Lihat Batas Eksekusi Latar Belakang untuk detail selengkapnya. Catatan: Dimulai dengan Build.VERSION_CODES Versi SDK. S , aplikasi yang menargetkan Build.VERSION_CODES Versi SDK. S atau lebih tinggi tidak diizinkan untuk memulai layanan latar depan dari latar belakang. Lihat Perubahan perilaku: Aplikasi yang menargetkan Android 12 untuk detail selengkapnya. Niat layanan parameter : Mengidentifikasi layanan yang akan dimulai. Niat harus sepenuhnya eksplisit (menyediakan nama komponen). Nilai tambahan dapat disertakan dalam ekstra Niat untuk menyediakan argumen bersama dengan panggilan mulai khusus ini. Mengembalikan ComponentName Nilai ini mungkin null .
- Atribut
Keterangan
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Java dokumentasi untuk android.content.ContextWrapper.startService(android.content.Intent).