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
'안드로이드 > SDK version' 카테고리의 다른 글
[Android] 카메라 촬영 Android10이상과 그 이하 (0) | 2024.03.18 |
---|---|
registerForActivityResult가 onResume보다 늦게 호출이 되는 문제 (0) | 2023.01.11 |
[Android] Android12에서 File에 대한 직렬화(Serialization) 문제 (0) | 2022.08.03 |
Android 11 분석 (2) | 2021.05.31 |
안드로이드 11 대응 (0) | 2021.03.25 |