투케이2K

801. (Android/Java) [유틸 파일] isRunningActivity : 액티비티 구동 상태 확인 : BadTokenException 본문

Android

801. (Android/Java) [유틸 파일] isRunningActivity : 액티비티 구동 상태 확인 : BadTokenException

투케이2K 2024. 5. 14. 20:11
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] isRunningActivity : 액티비티 구동 상태 확인
    // -----------------------------------------------------------------------------------------
    public static boolean isRunningActivity(Context mContext) {

        /**
         * // -----------------------------------------
         * [isRunningActivity 메소드 설명]
         * // -----------------------------------------
         * 1. 액티비티 구동 상태 확인
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   C_App.isRunningActivity(A_Intro.this);
         *
         *   C_App.isRunningActivity(null);
         *
         *   C_App.isRunningActivity(getApplicationContext());
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         * 액티비티가 현재 구동 중 인 상태인 경우 true , 아니면 false
         * // -----------------------------------------
         * 4. 참고 :
         *
         * 팝업창 활성 전) 사전 액티비티 구동 상태 체크 >> BadTokenException 예방
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        boolean returnData = false;


        // [로직 처리 실시]
        try {

            // [인풋 데이터 체크]
            if (mContext != null && (mContext instanceof Activity) && ((Activity) mContext).isFinishing() == false){

                // [리턴 변수 삽입]
                returnData = true;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


        // [로그 출력 실시]
        ///*
        // ===============================================================
        S_Log._D_("액티비티 구동 상태 확인", new String[]{
                "RETURN :: " + String.valueOf(returnData)
        });
        // ===============================================================
        // */


        // [리턴 반환 실시]
        return returnData;
    }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.isRunningActivity(C_App.java:10897)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-05-14 14:46:53 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 액티비티 구동 상태 확인]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: true]
D///===========//: ================================================

반응형
Comments