Service在APP關閉後仍然能獨立在背景運行,當任務完成後停止
Service的運作和使用者的操作無關,如等待網路通知、撥放音樂、下載資料等作業都能利用Service
在file>service>service新增一個Service
class MyService : Service() {
override fun onCreate() {
super.onCreate()
//在Service執行的任務
}
override fun onBind(intent: Intent): IBinder? {
return null
}
//當Service被停止時啟動
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
super.onStartCommand(intent, flags, startId)
}
}
在onStartCommand()
回傳的值代表Service被停止後執行的動作
利用Intent和startService()
啟動Service
startService(Intent(this,MyService::class.java))
利用stopService()
強制停止Service
stopService(Intent(this,MyService::class.java))