📑 Notification
Notification이란, 위 사진과 같은 것을 이야기한다.
사진 속 Notification은 Notification 중 가장 간단한 형태이며 아이콘, 제목, 컨텐츠를 보여준다.
이러한 Notification을 만드려면 먼저 Notification Channel을 생성해야 한다.
다음 코드는 Channel을 생성하는 코드이다.
private fun createNotificationChannel(context: Context, importance: Int, showBadge: Boolean,
name: String, description: String) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channelId = "${context.packageName}-$name"
val channel = NotificationChannel(channelId, name, importance)
channel.description = description
channel.setShowBadge(showBadge)
val notificationManager = context.getSystemService(NotificationManager::class.java)
notificationManager.createNotificationChannel(channel)
}
}
NotificationManager.createNotificationChannel()로 채널을 생성할 수 있다.
채널의 아이디, 이름, 중요도로 생성한 NotificationChannel 객체를 인자로 전달한다.
- Channel Id : 앱마다 유니크한 Id를 생성해야한다.
- Channel Name : 사용자에게 보여지는 채널의 이름
- Channel Importance : 채널 중요도의 의미이며 IMPORTANCE_DEFAULT, IMPORTANCE_HIGH 등으로 설정할 수 있다.
이제 Channel이 등록되었으니, Channel Id를 사용하여 Notification을 만들어주면 된다.
만약 위와 같은 기본 Notification의 형태가 아닌 다른 style의 Notification을 사용하려면, 원하는 Style에 맞는 Notification을 선택하여 커스텀하면 된다.
✨ Style
기본적인 Notification이 아닌 커스텀된 형태로 만들고 싶을 때가 있다.
이럴 때 Android에선 자주 사용되는 Notification을 여러 Style로 만들어두었다.
아래는 다양한 Notification Style중 몇 개를 들고와보았다.
BigText
- 많은 양의 텍스트를 보여줄 수 있다.
- 기본 Notification과 다르게 접고 펼 수 있는 기능이 있다.
BigPicture
- 큰 이미지를 보여준다.
Head up Notification
- 전면에 Notification이 뜬다.
- 사용자가 Status Bar를 내려 확인하지 않아도 바로 화면에 뜬다.
- 전화와 같은 중요한 작업을 알릴 때 사용
REFERENCE
'📜 TIL' 카테고리의 다른 글
[Android] Kotlin 파일은 Java파일의 Lombok 라이브러리와 호환되기 힘들다 (0) | 2022.10.19 |
---|---|
[Android] Java 프로젝트에 Kotlin 언어 적용하기 (0) | 2022.10.19 |
[Network] 네트워크에서 헤더와 패킷이란 무엇일까? 간단 정리 (0) | 2022.10.13 |
[Android] MVVM패턴에 대해 간단히 알아보자 (0) | 2022.10.12 |
[Android Studio] 휴대폰의 내부 저장소 폴더 파일트리를 볼 수 있는 방법 (0) | 2022.10.06 |