Android 14에는 배경화면 문제가 있습니다.

타사 앱을 사용하여 배경화면을 맞춤설정하고 싶다면 Android 13 이상을 사용하는 경우 충격을 받을 수 있습니다.

Google은 항상 개인 정보 보호를 위해 노력해 왔으며 지난 몇 번의 Android 릴리스에서는 그 반대를 주장하기가 어려울 것입니다. 회사는 플랫폼의 보안을 향상시키는 동시에 새로운 기능을 추가하려고 노력해 왔습니다. 안드로이드 13 그리고 안드로이드 14하지만 모든 변화가 좋은 것은 아니었습니다. 실제로 회사가 (조용히) 보안 개선이라고 선전하는 그러한 변화 중 하나는 실수로 구현되었으며 타사 앱이 실제로 배경화면에 액세스할 수 없도록 만듭니다.

안에 Android 개발자 Zachary Wander가 공유한 Mastodon 스레드, 그는 READ_EXTERNAL_STORAGE 권한을 세 가지 개별 권한으로 분할하면 사용자 배경화면과 상호작용하는 앱이 어떻게 중단되는지 간략하게 설명합니다. 이 세 가지 권한은 이미지, 비디오 및 오디오 파일에 액세스하기 위한 것이며 이는 의심할 여지 없이 좋은 변화입니다. 그러나 배경화면 API(사용자 배경화면 검색 포함) 또한 이전에는 이 권한이 필요했습니다. 새로운 권한도 얻지 못했고 Android 13에서는 더 이상 READ_EXTERNAL_STORAGE 권한 부여를 지원하지 않으므로 대안이 없습니다.

이 행동 버그로 보고되었습니다 작년에 Android 13이 출시되기 전이었고 Google은 몇 달 동안 (추가 정보에 대한 초기 요청을 제외하고) 응답하지 못했습니다. 5월에는 올해, Google 직원은 수정되지 않을 것이라고 답장하며 다음을 추가했습니다.

"우리는 제품 및 엔지니어링 팀과 동작에 대해 논의했고 그들은 API가 권한 있는 시스템 앱에만 액세스할 수 있도록 유지하는 것을 지지했습니다."

이것이 중요한 이유는 다면적입니다. 휴대폰을 기본 배경화면(또는 다른 기본 배경화면)으로만 사용하고 맞춤 설정에 너무 깊이 들어가지 않는다면 아마 괜찮을 것입니다. 하지만 배경화면을 관리할 수 있는 모든 앱은 당신을 위한

이로 인해 상처를 입을 것입니다. LWP+ 예를 들어 배경화면을 백업하고 가져오고 내보내려면 액세스 권한이 필요하지만 최신 Android 버전을 대상으로 지정해야 하면 액세스할 수 없습니다. 이 앱은 다음 용도로도 사용됩니다. 사용자 정의 Material You 색상 설정, 하지만 변경사항이 없으면 앞으로는 그렇게 할 수 없습니다. Google이 현재 게시한 타임라인 상태 해당 앱은 8월 말까지 Android 13을 타겟팅해야 합니다.

더 나쁜 것은 Wander가 자신의 사용자 정의 배경화면을 표시할 수 없는 타사 런처로 인해 문제가 발생했다고 보고했습니다. 정확한 동작을 재현할 수는 없었지만, 여러 타사 런처를 테스트했습니다. 최신 Android 14 베타 버전에서 Lynx Launcher라는 한 런처에서 권한 관련 문제가 발생했다고 언급했습니다. 문제. 필요한 모든 권한을 얻을 수 없어 수정할 수 없다는 오류가 발생했으며 Google 포토에서 맞춤 배경화면을 설정할 수 없었습니다.

우리는 Nova Launcher에 연락하여 의견을 얻었고 지금까지 삼성 관련 장치에서만 권한 관련 문제가 발생하는 것을 보았지만 회사 대변인은 "이제 의도된 행동으로 표시한 것을 보니 안타깝다"고 말했습니다. Samsung 장치에서 이러한 권한 문제 중 하나 내가 본 것은 Nova의 배경화면 선택기 내에서 배경화면을 설정할 때 "권한이 거부되었습니다"라는 오류가 나타나고 배경화면이 설정되지 않았다는 것입니다. 세트. 이러한 보고서는 삼성 기기에서만 보고되었으며 팀에서는 이를 복제할 수 없었습니다. 구글 픽셀 아직.

분명히 말하면, 이 API는 권한 있는 시스템 앱에서만 액세스할 수 있는 것이 아니었습니다. 처음에 이런 상황을 초래한 READ_EXTERNAL_STORAGE 권한 분할에 대한 감독 장소. 이 권한은 실제로 Android 13에도 여전히 존재하며, 앱이 Android 13을 타겟팅하는 경우 권한 컨트롤러는 이를 요청하는 모든 앱에 대해 이를 거부합니다. 안드로이드의 권한 컨트롤러프로젝트 메인라인 모듈이므로 Google ~할 수 있었다 이론적으로는 Android 13 기기에서 이 동작을 수정합니다. 현재로서는 Google은 곧 모든 앱을 Android 13 이상을 대상으로 업데이트하도록 요구할 예정입니다. 즉, 해당 앱은 더 이상 배경화면에 액세스할 수 없습니다.

Google의 자체 문서 WallpaperManager 수업도 마찬가지로 경솔합니다. "T부터 시작하면 더 이상 배경화면에 직접 액세스할 수 없습니다. 대신 기본적으로 시스템 배경화면이 반환됩니다." 버전 U(Android 15)부터는 특정 클래스 메서드를 사용해서는 안 됩니다. 모두.

그것이 보안 개선이라면 회사가 그 모든 것에 관심을 기울이지 않은 것이 확실히 이상하고 애초에 정확히 얼마나 될지 알기도 어렵습니다. Google에 연락했으며 답변을 받으면 이 문서를 업데이트하겠습니다.