투케이2K

3. (TWOK/UTIL) [Android/Java] S_ProgramTaskService - 사용자 휴대폰 작업 최근 작업 사용 목록 날림 이벤트 감지 본문

투케이2K 유틸파일

3. (TWOK/UTIL) [Android/Java] S_ProgramTaskService - 사용자 휴대폰 작업 최근 작업 사용 목록 날림 이벤트 감지

투케이2K 2022. 3. 20. 14:37

[설 명]

프로그램 : Android / Java

설 명 : 사용자 휴대폰 작업 최근 작업 사용 목록 날림 이벤트 감지

 

[소스 코드]

 

package com.example.testapp;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class S_ProgramTaskService extends 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(new Intent(getApplication(), S_ProgramTaskService.class));
     *    }
     *    catch (Exception e){
     *        e.printStackTrace();
     *    }
     *
     * // -----------------------------------------
     * */





    // TODO [클래스 명칭 선언 실시]
    private static final String ACTIVITY_NAME = "S_ProgramTaskService";





    //TODO [onStartCommand : startService() 로 서비스를 시작할 때 호출]
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i("---","---");
        Log.w("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onStartCommand() :: 프로그램 작업 태스크 감지 서비스 실행]");
        Log.w("//===========//","================================================");
        Log.i("---","---");
        return START_STICKY;
    }





    // TODO [onBind 서비스 실행 부분 : bindService() 로 바인딩을 실행할 때 호출]
    @Override
    public IBinder onBind(Intent intent) {
        Log.i("---","---");
        Log.w("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onBind() :: 프로그램 작업 태스크 감지 서비스 실행]");
        Log.w("//===========//","================================================");
        Log.i("---","---");
        return null;
    }





    // TODO [사용자가 앱 작업 목록 날림 이벤트 감지 부분]
    @Override
    public void onTaskRemoved(Intent rootIntent) {
        Log.i("---","---");
        Log.e("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onTaskRemoved() :: 프로그램 작업 태스크 감지 서비스 종료]");
        Log.e("//===========//","================================================");
        Log.i("---","---");

        // -----------------------------------------

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

        // -----------------------------------------

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

        // -----------------------------------------

        try {
            // [서비스 종료]
            stopSelf();
        }
        catch (Exception e){
            //e.printStackTrace();
        }

        // -----------------------------------------
    }


} // TODO [클래스 종료]

반응형
Comments