투케이2K
419. (android/안드로이드) [Android 13 / target 33] compileSdkVersion , targetSdkVersion 타겟 33 구글 정책 변경 정리 본문
419. (android/안드로이드) [Android 13 / target 33] compileSdkVersion , targetSdkVersion 타겟 33 구글 정책 변경 정리
투케이2K 2022. 11. 29. 17:20[개발 환경 설정]
개발 툴 : AndroidStudio
[설 명]
1. [알림 런타임 권한]
- Android 13에는 새로운 런타임 알림 권한인 POST_NOTIFICATIONS가 도입되었습니다
- <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
- 앱은 포그라운드 서비스를 실행하기 위해 POST_NOTIFICATIONS 권한을 요청할 필요가 없습니다. 그러나 이전 버전의 Android에서와 마찬가지로 앱은 포그라운드 서비스를 시작할 때 알림을 포함해야 합니다.
2. [클립보드에서 민감한 콘텐츠 숨기기]
- 사용자가 민감한 콘텐츠를 클립보드에 복사할 수 있도록 허용하는 앱은 플래그를 추가하여 클립보드 콘텐츠 미리보기에서 해당 콘텐츠를 숨겨야 합니다.
- 앱에서 사용자가 민감한 콘텐츠(예: 비밀번호나 신용카드 정보)를 클립보드에 복사할 수 있도록 허용하는 경우 ClipboardManager#setPrimaryClip()을 호출하기 전에 ClipData의 ClipDescription에 플래그를 추가해야 합니다. 이 플래그를 추가하면 민감한 콘텐츠가 콘텐츠 미리보기에 표시되지 않습니다.
- https://developer.android.com/about/versions/13/behavior-changes-all?hl=ko#copy-sensitive-content
3. [공유 사용자 ID에서 이전]
- 지원 중단된 android:sharedUserId 속성을 사용하고 이 속성의 기능에 더 이상 종속되지 않는 앱은 다른 메커니즘으로 이전해야 합니다.
- android:sharedUserId="SHARED_PACKAGE_NAME" / android:sharedUserMaxSdkVersion="32"
4. [근처 Wi-Fi 기기의 새 런타임 권한]
- Android 13 이상을 타겟팅하고 Wi-Fi API를 사용하는 경우에는 ACCESS_FINE_LOCATION 대신 NEARBY_WIFI_DEVICES를 요청하세요
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="32" />
- <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
android:usesPermissionFlags="neverForLocation" />
5. [백그라운드에서 생체 신호 센서를 사용하려면 새로운 권한이 필요함]
- 앱이 Android 13을 타겟팅하며 백그라운드에서 실행되는 동안 생체 신호 센서 정보 (심박수, 체온, 혈중 산소 농도 등) 에 액세스해야 하는 경우, 기존 BODY_SENSORS 권한에 더해 새로운 BODY_SENSORS_BACKGROUND 권한을 선언해야 합니다.
6. [의도가 일치하지 않는 의도 차단]
- 앱이 Android 13 이상을 산출하는 다른 앱의 내보낸 구성요소로 인텐트를 전송하면 이 인텐트는 수신하는 앱의 <intent-filter>요소와 일치하는 경우에만 전달됩니다. 의도하지 않은 의도는 차단됩니다.
- https://developer.android.com/guide/components/intents-filters?hl=ko#match-intent-filter
7. [세분화된 미디어 권한]
- 앱은 이제 별도의 권한을 사용하여 다른 유형의 미디어에 대한 액세스를 요청해야 합니다.
- 앱이 Android 13 이상을 계산하고 다른 앱에서 생성된 미디어 파일에 액세스 해야 하는 경우 READ_EXTERNAL_STORAGE 권한 대신 다음과 같이 세분화된 미디어 권한을 하나 이상 요청해야 합니다.
(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO / READ_MEDIA_AUDIO)