투케이2K

847. (Android/Java) [유틸 파일] goScheduleAlarmSetting : 앱 스케줄 및 알람 설정 창 이동 본문

Android

847. (Android/Java) [유틸 파일] goScheduleAlarmSetting : 앱 스케줄 및 알람 설정 창 이동

투케이2K 2024. 8. 22. 20:41

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [goScheduleAlarmSetting] : 앱 스케줄 및 알람 설정 창 이동
    // -----------------------------------------------------------------------------------------
    public static void goScheduleAlarmSetting(Context mContext){

        /**
         * // -----------------------------------------
         * [goScheduleAlarmSetting 메소드 설명]
         * // -----------------------------------------
         * 1. 앱 스케줄 및 알람 설정 창 이동
         * // -----------------------------------------
         * 2. 호출 방법 : C_Intent.goScheduleAlarmSetting(A_Intro.this);
         * // -----------------------------------------
         * 3. 필요 퍼미션 :
         *
         *     <!-- ============================================================= -->
         *     <!-- [MQTT 통신 사용 스케줄 및 알람 관리] -->
         *     <!-- ============================================================= -->
         *     <!-- [SCHEDULE_EXACT_ALARM : 안드로이드 12 이상 선언 필요] : [13 이상 alarmManager.canScheduleExactAlarms() 권한 부여 상태 체크 필요] -->
         *     <!-- ============================================================= -->
         *     <!-- [USE_EXACT_ALARM : 안드로이드 14 이상 선언 필요] -->
         *     <!-- ============================================================= -->
         *     <!-- [주의] : USE_EXACT_ALARM 권한은 캘린더 및 알람 시계 앱 목적으로 제작 된 앱이 사용할 수 있다 -->
         *     <!-- 참고 : 앱은 정책 언어 에 따라 적격을 갖추지 않는 한 매니페스트에서 이 권한이 있는 버전의 앱을 게시할 수 없습니다 -->
         *     <!-- ============================================================= -->
         *     <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
         *     <uses-permission android:name="android.permission.USE_EXACT_ALARM" />
         *
         * // -----------------------------------------
         * 4. 주의 :
         *
         * 안드로이드 13 이상 SCHEDULE_EXACT_ALARM 권한은 사전 자동 부여 상태가 되지 않기에 alarmManager.canScheduleExactAlarms 사용 권한 부여 체크 필요
         * 구글 마켓 배포 수행 시 캘린더 및 알람 시계 앱이 아닌 경우는 적합한 적격을 갖추지 않는 한 매니페스트에서 이 권한이 있는 버전의 앱을 게시할 수 없습니다.
         * // -----------------------------------------
         * 5. 참고 사이트 :
         *
         * https://developer.android.com/about/versions/14/changes/schedule-exact-alarms?hl=ko
         * // -----------------------------------------
         * */

        try {
            // ===============================================================
            S_Log._F_(mContext, "앱 스케줄 및 알람 설정 창 이동", null);
            // ===============================================================

            // [인텐트 이동 실시]
            Intent intent = new Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM);
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            intent.setData(Uri.parse("package:" + mContext.getPackageName()));
            mContext.startActivity(intent);
        }
        catch (Exception e){
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }
    }

 

반응형
Comments