ตัวอย่างนี้สาธิตวิธีการเริ่มบริการในเวลาบูตในแอป Android โดยใช้ Kotlin
ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ File? โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่
ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml
ขั้นตอนที่ 3 − สร้างคลาส kotlin ใหม่และเพิ่มรหัสต่อไปนี้ใน RunServiceOnBoot.kt
นำเข้า android.app.Serviceimport android.content.Intentimport android.os.Handlerimport android.os.IBinderimport android.util.Logimport android.widget.Toastclass RunServiceOnBoot :บริการ () { val ส่วนตัว TAG ="MyService" ส่วนตัว lateinit var ตัวจัดการ:ตัวจัดการส่วนตัว lateinit var runnable:Runnable private val runTime =5,000 แทนที่ fun onCreate() { super.onCreate() Toast.makeText (นี่ "เริ่มบริการ", Toast.LENGTH_SHORT).show () Log.i (TAG, "onCreate") ตัวจัดการ =Handler () runnable =Runnable { handler.postDelayed (runnable, runTime.toLong ()) } handler.post (รันได้) } แทนที่ความสนุก onBind (เจตนา:เจตนา?):IBinder? { return null } แทนที่ fun onDestroy() { handler.removeCallbacks(runnable) super.onDestroy() } แทนที่ fun onStartCommand(intent:Intent?, flags:Int, startId:Int):Int { return START_STICKY } แทนที่ fun onStart(intent :Intent? startId:Int) { super.onStart(intent, startId) Log.i(TAG, "onStart") }}
ขั้นตอนที่ 4 − สร้างคลาส kotlin ใหม่และเพิ่มรหัสต่อไปนี้ใน StartAppOnBoot.kt
นำเข้า android.content.BroadcastReceiverimport android.content.Contextimport android.content.Intentclass StartAppOnBoot :BroadcastReceiver () { แทนที่ความสนุก onReceive (บริบท:บริบท?, เจตนา:เจตนา?) { if (Intent.ACTION_BOOT_COMPLETED ==เจตนา!! .action) { val i =Intent (บริบท, MainActivity::class.java) i.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK) บริบท!!.startActivity (i) } }}
ขั้นตอนที่ 5 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.kt
<ก่อนหน้า>นำเข้า android.content.Intentimport android.os.Bundleimport androidx.appcompat.app.AppCompatActivityclass MainActivity :AppCompatActivity () { แทนที่ความสนุกบนสร้าง (savedInstanceState:Bundle?) { super.onCreate (savedInstanceState) setContentView (R.layout.activity_main ) val ตั้งใจ1 =เจตนา (this@MainActivity, RunServiceOnBoot::class.java) startService(intent1) }}ขั้นตอนที่ 6 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml
<หมวดหมู่ android:name="android.intent.category.LAUNCHER" /> <เจตนา -filter>
มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ
หมายเหตุ:ลองใช้ในอุปกรณ์ของคุณเองเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด