투케이2K

119. (TWOK/UTIL) [Android/Kotlin] S_ProgramTaskService : 사용자가 앱 작업 목록 날림 , 지우기 이벤트 감지 서비스 유틸 파일 본문

투케이2K 유틸파일

119. (TWOK/UTIL) [Android/Kotlin] S_ProgramTaskService : 사용자가 앱 작업 목록 날림 , 지우기 이벤트 감지 서비스 유틸 파일

투케이2K 2023. 8. 13. 00:22

[설 명]

프로그램 : Android / Kotlin

설 명 : S_ProgramTaskService : 사용자가 앱 작업 목록 날림 , 지우기 이벤트 감지 서비스 유틸 파일

 

[소스 코드]

 

package com.example.kotlinproject

import android.app.Service
import android.content.Intent
import android.os.IBinder

class S_ProgramTaskService : Service() {


    /**
     * // --------------------------------------------------------------------------------------
     * TODO [클래스 설명]
     * // --------------------------------------------------------------------------------------
     * 1. 사용자가 앱 작업 목록 날림 , 지우기 이벤트 감지 서비스
     * // --------------------------------------------------------------------------------------
     * 2. 적용 방법 [1] : AndroidManifest.xml 에서 서비스 적용 실시 [application 내부에 서비스 선언]
     *
     *    <!-- 서비스 : 사용자 작업 최근 앱 목록 작업 날림 이벤트 감지 -->
     *    <service
     *        android:name=".S_ProgramTaskService"
     *        android:exported="true"
     *        android:stopWithTask="false" />
     *    <!-- 사용자가 앱 목록 날림 이벤트 감지 : android:stopWithTask="false" -->
     *
     * // --------------------------------------------------------------------------------------
     * 3. 적용 방법 [2] : 최상위 클래스에서 startService 호출 TODO [onCreate 내부에 시작 시 호출]
     *
     *    // TODO [사용자가 최근 앱 작업 목록에서 지우기 및 날림 감지]
     *    try {
     *        startService(Intent(applicationContext, S_ProgramTaskService :: class.java))
     *    }
     *    catch (e: Exception){
     *        S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
     *    }
     *
     * // --------------------------------------------------------------------------------------
     * */





    /**
     * // --------------------------------------------------------------------------------------
     * // TODO [빠른 로직 찾기 : 주석 로직 찾기]
     * // --------------------------------------------------------------------------------------
     * // [SEARCH FAST] :
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     */





    // --------------------------------------------------------------------------------------
    // TODO [companion object >> static 선언 실시]
    // --------------------------------------------------------------------------------------
    companion object {

        // TODO [클래스 명칭 선언 실시]
        private const val ACTIVITY_NAME = "S_ProgramTaskService"

    }





    // --------------------------------------------------------------------------------------
    // TODO [onStartCommand : startService() 로 서비스를 시작할 때 호출]
    // --------------------------------------------------------------------------------------
    override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
        // ===============================================================
        S_Log._W_(S_FinalMsg.LOG_Service_onStartCommand, null)
        // ===============================================================
        return START_STICKY
    }





    // --------------------------------------------------------------------------------------
    // TODO [onBind 서비스 실행 부분 : bindService() 로 바인딩을 실행할 때 호출]
    // --------------------------------------------------------------------------------------
    override fun onBind(intent: Intent): IBinder? {
        // ===============================================================
        S_Log._D_(S_FinalMsg.LOG_Service_onBind, null)
        // ===============================================================
        return null
    }






    // --------------------------------------------------------------------------------------
    // TODO [사용자가 앱 작업 목록 날림 이벤트 감지 부분]
    // --------------------------------------------------------------------------------------
    override fun onTaskRemoved(rootIntent: Intent) {
        // ===============================================================
        S_Log._F_(applicationContext, S_FinalMsg.LOG_Service_onTaskRemoved, null)
        // ===============================================================


        // ---------------------------------------------------------------
        // [앱 종료 시 데이터 초기화 실시]
        // ---------------------------------------------------------------
        // S_Preference.mainFinishClear(application)
        // ---------------------------------------------------------------


        // ---------------------------------------------------------------
        // [프로세스 종료 시 데이터 초기화 실시]
        // ---------------------------------------------------------------
        // S_Preference.proccessFinishClear(application)
        // ---------------------------------------------------------------


        // ---------------------------------------------------------------
        // [서비스 종료]
        // ---------------------------------------------------------------
        try {
            stopSelf()
        } catch (e: Exception) {
            //S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e);
        }
        // ---------------------------------------------------------------
    }


} // TODO [클래스 종료]

 

반응형
Comments