안드로이드/SDK version

[Android] Notification 오레오 대응

코딩하는후운 2022. 10. 27. 10:20
반응형

Notification 오레오 대응

오레오에서부터는 이 Notification Channel을 필수로 만들어 주어야 합니다.
오레오에서 Notification Channel을 만들어 주지 않으면 알림이 오지 않습니다.

알림채널(Notification Channel) 만들기
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel notificationChannel = new NotificationChannel("channel_id", "channel_name", NotificationManager.IMPORTANCE_DEFAULT);
notificationChannel.setDescription("channel description");
notificationChannel.enableLights(true);
notificationChannel.setLightColor(Color.GREEN);
notificationChannel.enableVibration(true);
notificationChannel.setVibrationPattern(new long[]{100, 200, 100, 200});
notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
notificationManager.createNotificationChannel(notificationChannel);
}


***채널은 한번만 만들면 되기때문에 Notification이 올때마다 만들어줄 필요가 없습니다.
(ex) 실제 푸시가 왓을 때 Noti가 떳는데 앱 아이콘 뱃지를 지우고 싶었음.
근데 이미 채널이 생성되어서 계속 뱃지가 나와서 찾다가 (앱삭제 후 설치(setShowBadge(false)적용) or 앱 알림설정 - 채널 - 앱 아이콘 뱃지 off) 설정으로 가능.


알림(Notification)에 채널 지정하기

Notification.Builder builder = new Notification.Builder(context, channel)
        .setContentTitle(title)
        .setContentText(body)
        .setSmallIcon(getSmallIcon())
        .setAutoCancel(true);


알림채널(Notification Channel) 관리
수정은 채널이름, 채널설명에 대해서만 가능합니다.

 

 

참조 :

https://gun0912.tistory.com/77

 

[안드로이드/Android]8.0 오레오 알림채널(Notification Channel) 대응하기

지난 2017년 8월, 구글은 안드로이드 8.0 오레오를 공개했습니다. 여러가지 동작 변경사항 중 우리는 알림(Notification)에 대한 변경사항에 대해 꼭 대응을 해주어야 합니다. 우리는 지난 마시멜로

gun0912.tistory.com

 

반응형