투케이2K

642. (android/안드로이드) [Android 14 / UpsideDownCake] 기능 변경 및 동작 변경 사항 정리 본문

Android

642. (android/안드로이드) [Android 14 / UpsideDownCake] 기능 변경 및 동작 변경 사항 정리

투케이2K 2023. 9. 8. 19:55

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[설 명]

 

    /**
     * // --------------------------------------------------------------------------------------
     * // TODO [SEARCH FAST] : [Android 14] : [U-케이크]
     * // --------------------------------------------------------------------------------------
     * TODO [참고 사이트] :
     *
     * https://developer.android.com/about/versions/14/setup-sdk?hl=ko
     * https://developer.android.com/about/versions/14/summary?hl=ko
     * https://developer.android.com/about/versions/14/behavior-changes-all?hl=ko#media-owner-package-names
     * https://developer.android.com/about/versions/13/features?hl=ko#java
     * https://playground.naragara.com/2521/
     * https://developer.android.com/about/versions/14/changes/partial-photo-video-access?hl=ko
     * https://developer.android.com/about/versions/14/changes/schedule-exact-alarms?hl=ko
     * https://developer.android.com/about/versions/14/changes/fgs-types-required?hl=ko
     * https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running?hl=ko
     * // --------------------------------------------------------------------------------------
     * [변경 사항] :
     * // -------------------------------------------
     * - TODO [설치 가능한 최소 대상 API 수준]
     *
     *   >> targetSdkVersion이 23 미만인 앱은 설치할 수 없습니다
     *   >> 조치 : 안드로이드 minSdk 버전 향상 후 >> 구글 플레이스토어에 제출 필요
     * // -------------------------------------------
     * - TODO [앱별 언어 설정] :
     *
     *   >> Android 14 에서는 Android 13 (API 수준 33)에서 도입된 앱별 언어 기능을 일부 추가 기능으로 확장합니다
     *   >> 내용 : 앱의 localeConfig 자동으로 생성 >> 별도로 이제 안드로이드 프로젝트 내에 LocaleConfig 파일 생성하고 Manifest 파일에 수동으로 추가하지 않아도 됨
     * // -------------------------------------------
     * - TODO [미디어 소유자 패키지 이름을 수정할 수 있음] :
     *
     *   >> 조치 : 미디어 스토어를 쿼리하는 앱은 QUERY_ALL_PACKAGES 권한 선언 필요
     *            QUERY_ALL_PACKAGES 권한을 선언한 앱은 구글 개발자 콘솔 정책에서 해당 권한을 사용하는 이유를 명시해야함 (ex: 바이러스 탐지 및 디바이스 보안 위해 사용)
     * // -------------------------------------------
     * - TODO [암시적 인텐트 및 대기 중인 인텐트 제한] :
     *
     *   >> Android 14를 타겟팅하는 앱의 경우 Android 는 앱이 암시적 인텐트를 내부 앱 구성요소에 보내지 못하도록 제한합니다
     *   >> 조치 : AndroidManifest.xml 파일에서 android:exported="false" 로 선언 된 액티비티는 ActivityNotFoundException 에러가 발생
     *            뷰 화면 이동으로 사용되는 액티비티라면 android:exported="true 로 변경 필요"
     * // -------------------------------------------
     * - TODO [런타임 등록 broadcast receiver 는 내보내기 동작을 지정해야 함] :
     *
     *   >> Android 14를 타겟팅하고 컨텍스트 등록 수신기를 사용하는 앱과 서비스는 수신기를 기기의 다른 모든 앱으로 내보내야 하는지를 나타내는 플래그를 지정해야 합니다
     *      (registerReceiver(sharedBroadcastReceiver, intentFilter, RECEIVER_EXPORTED))
     *   >> 앱 내에서 액티비티 <-> 액티비티 간 브로드캐스팅 알림 전달 시 지정하는 리시버 제외 , 다른 앱으로 내보내기 시 지정 필요
     * // -------------------------------------------
     * - TODO [백그라운드에서 활동 시작에 관한 추가 제한사항] :
     *
     *   >> Android 14를 타겟팅하는 앱의 경우 시스템은 앱이 백그라운드에서 활동을 시작하도록 허용되는 시점을 추가로 제한합니다
     *   >> 앱이 PendingIntent#send() 또는 유사한 메서드를 사용하여 PendingIntent를 전송할 때 대기 중인 인텐트를 시작하기 위해 자체 백그라운드 활동 실행 권한을 부여할지 이제 앱이 선택해야 합니다
     *   >> setPendingIntentBackgroundActivityStartMode(MODE_BACKGROUND_ACTIVITY_START_ALLOWED)가 포함된 ActivityOptions 번들을 전달
     * // -------------------------------------------
     * - TODO [사진 및 동영상에 대한 일부 액세스 권한 부여] :
     *
     *   >> 앱은 이제 별도의 권한을 사용하여 다른 유형의 미디어에 대한 액세스를 요청해야 합니다.
     *   >> 앱이 Android 13 이상을 계산하고 다른 앱에서 생성된 미디어 파일에 액세스 해야 하는 경우 READ_EXTERNAL_STORAGE 권한 대신 다음과 같이 세분화된 미디어 권한을 하나 이상 요청해야 합니다.
     *   >> (READ_MEDIA_IMAGES / READ_MEDIA_VIDEO / READ_MEDIA_AUDIO)
     * // -------------------------------------------
     * - TODO [전체 화면 인텐트 알림의 업데이트된 권한 요구사항] :
     *
     *   >> Android 14에서는 통화 및 알람을 제공하는 앱만 전체 화면 인텐트 알림을 지원하기 위해 USE_FULL_SCREEN_INTENT 권한을 사용하는 것이 허용됩니다
     * // -------------------------------------------
     * - TODO [포그라운드 서비스 활성 알림 닫기 지원] :
     *
     *   >> 앱에서 닫을 수 없는 포그라운드 알림을 사용자에게 표시하는 경우 Android 14에서는 사용자가 이러한 알림을 닫을 수 있도록 동작을 변경했습니다
     *   >> 내용 : 해당 알림을 닫은 경우 서비스 중지 여부 상태가 됨으로, 포그라운드 알림 활성 시 [앱 닫기 시] 서비스 동작 중지 알림 표시 필요
     * // -------------------------------------------
     * - TODO [앱은 자체 백그라운드 프로세스만 종료할 수 있음]
     *
     *   >> 앱이 killBackgroundProcesses()를 호출하면 API는 자체 앱의 백그라운드 프로세스만 종료할 수 있습니다
     * // -------------------------------------------
     * - TODO [정확한 알람 예약은 기본적으로 거부됨]
     *
     *   >> SCHEDULE_EXACT_ALARM 권한은 Android 13 이상을 타겟팅하는 새로 설치된 대부분의 앱에 더 이상 사전 부여되지 않습니다 (권한이 기본적으로 거부됨)
     *   >> 조치 : 정확한 알람을 시작하려면 SCHEDULE_EXACT_ALARM 권한이 필요 (권한이 없으면 SecurityException이 발생)
     * // -------------------------------------------
     * - TODO [포그라운드 서비스 유형이 필요함]
     *
     *   >> 앱이 Android 14를 타겟팅하는 경우 앱 내 각 포그라운드 서비스에 포그라운드 서비스 유형을 하나 이상 지정해야 합니다
     *   >> https://developer.android.com/about/versions/14/changes/fgs-types-required?hl=ko
     * // -------------------------------------------
     * - TODO [백그라운드 작업 처리 Job Scheduler 제한] :
     *
     *   >> 앱이 백그라운드 작업 처리에 Job Scheduler 를 사용하는 경우 WorkManager 로 소스 코드 변경 필요
     *   >> https://developer.android.com/topic/libraries/architecture/workmanager/basics?hl=ko
     * // -------------------------------------------
     * - TODO [OpenJDK 17 업데이트] :
     *
     *   >> Android 14에는 앱 및 플랫폼 개발자를 위한 라이브러리 업데이트 등을 위해 OpenJDK 17 을 지원합니다
     *   >> 안드로이드 프로젝트에서 컴파일 자바 버전 변경 필요 : JavaVersion.VERSION_1_8
     * // --------------------------------------------------------------------------------------
     * */

 

반응형
Comments