Andorid 12에서 사용자 정의 알림을 사용할 때 setCustomBigContentView도 설정하는 것을 잊지 마십시오.

안드로이드 12의 정식 릴리스는 아직이지만, 앞으로 달려 targetSdk 31 대응을 해 공식 문서를 제대로 읽지 않고 실패했기 때문에 주의 환기
Android 12에서 targetSdk를 31로 설정하면 맞춤 알림과 관련된 동작이 변경됩니다.

Android 12에서도 targetSdk가 31 미만인 경우 아래와 같이 setCustomContentView 에서 설정한 RemoteViews가 알림 전체에 표시됩니다. 묘하게 코너의 R이 큰 문제가 있습니다만, 코너 부분에 중요한 정보를 배치하지 않으면 그다지 문제는 없을 것입니다.



그러나 targetSdk를 31로 설정하면 다음과 같이 알림의 일부에만 RemoteViews가 표시됩니다. targetSdk는 어쨌든 올려야 하기 때문에, 이 제약 중에서 적절한 표현을 생각할 필요가 있군요.



Android 12를 타겟팅하는 앱에서는 모든 알림을 배포할 수 있습니다. 따라서, setCustomContentView 를 사용하는 경우, 통상은 setBigCustomContentView 도 사용해, 접힌 상태와 전개된 상태에 일관성을 갖게 할 필요가 있습니다.

예, Android 12에서는 모든 알림이 배포되므로 setBigCustomContentView를 설정하지 않으면 배포 할 때 표시되는 메시지가 사라집니다.



전개하고 싶지 않아도 전개되어 버리므로 setBigCustomContentView 로 RemoteViews를 설정해 두어야 합니다.



덧붙여 DecoratedCustomViewStyle을 지정한 경우에도 같은 효과가 있습니다만, Android 12 미만에서도 전개할 수 있는 커스텀 통지를 작성하기 위한 것이군요.
모처럼 전개하는 것이 강제되므로, 전개되었을 때는 보다 리치한 UI를 제공해, Android 12 미만과 같은 거동으로 시키고 싶은 경우는 이것을 사용하는 것이 좋네요.

이상

좋은 웹페이지 즐겨찾기