Android 17 플랫폼에는 앱에 영향을 줄 수 있는 동작 변경사항이 있습니다. targetSdkVersion과 관계없이 Android 17에서 실행되는 모든 앱에 적용되는 동작 변경사항은 다음과 같습니다. 이러한 변경사항을 적절히 지원해야 하는 경우 앱을 테스트한 후 필요에 따라 수정해야 합니다.
또한 Android 17을 타겟팅하는 앱에만 영향을 주는 동작 변경사항 목록을 검토해야 합니다.
보안
Android 17에는 기기 및 앱 보안이 다음과 같이 개선되었습니다.
usesClearTraffic 지원 중단 계획
我们计划在未来的版本中弃用 usesCleartextTraffic 元素。需要建立未加密 (HTTP) 连接的应用应迁移为使用网络安全配置文件,该文件可让您指定应用需要与哪些网域建立明文连接。
请注意,网络安全配置文件仅在 API 级别 24 及更高版本上受支持。如果应用的最低 API 级别低于 24,您应执行以下两项操作:
- 将
usesCleartextTraffic属性设置为true - 使用网络配置文件
如果应用的最低 API 级别为 24 或更高,您可以使用网络配置文件,而无需设置 usesCleartextTraffic。
암시적 URI 권한 부여 제한
目前,如果应用启动的 intent 包含具有操作 Send、SendMultiple 或 ImageCapture 的 URI,系统会自动向目标应用授予读取和写入 URI 权限。我们计划在 Android 18 中更改此行为。因此,我们建议应用明确授予相关的 URI 权限,而不是依赖系统来授予这些权限。
사용자 환경 및 시스템 UI
Android 17에는 더 일관되고 직관적인 사용자 환경을 만들기 위한 다음 변경사항이 포함되어 있습니다.
회전 후 기본 IME 공개 상태 복원
从 Android 17 开始,当设备的配置发生变化(例如,通过旋转)且应用本身未处理此变化时,系统不会恢复之前的 IME 可见性。
如果应用经历了它无法处理的配置更改,并且应用需要在更改后显示键盘,您必须明确请求此行为。您可以通过以下方式之一提出此要求:
- 将
android:windowSoftInputMode属性设置为stateAlwaysVisible。 - 在 activity 的
onCreate()方法中以编程方式请求显示软键盘,或添加onConfigurationChanged()方法。
미디어
Android 17에는 미디어 동작이 다음과 같이 변경되었습니다.
백그라운드 오디오 강화
Android 17부터 오디오 프레임워크는 오디오 재생, 오디오 포커스 요청, 볼륨 변경 API를 비롯한 백그라운드 오디오 상호작용에 관한 제한사항을 적용하여 이러한 변경사항이 사용자에 의해 의도적으로 시작되도록 합니다.
앱이 유효한 수명 주기에 있지 않은 동안 오디오 API를 호출하려고 하면 예외를 발생시키거나 실패 메시지를 제공하지 않고 오디오 재생 및 볼륨 변경 API가 자동으로 실패합니다. 오디오 포커스 API가 결과 코드 AUDIOFOCUS_REQUEST_FAILED로 실패합니다.
완화 전략을 비롯한 자세한 내용은 백그라운드 오디오 강화를 참고하세요.