728x90
다양한 앱에서 흔히 볼 수 있는 상단바에 떠있는 알람을 구현해보겠습니다.
아주 간단하고 단순한 예제이며, 화면상의 알림이 없고 상단바에만 생성되는 예제입니다.
화면의 알람, 알림의 구성, 알림에서 빠른 입력 등을 이용하거나 커스텀 해주고 싶다면 아래의 참고란을 확인해주세요.
dependencies
추가적으로 스타일을 주거나할 때 dependencies를 주기도 하지만 우선 정말 단순한 예제이기때문에 필요없습니다.
1. 알림을 위한 채널 생성
private fun createNotificationChannel(channelId: String, name: String, channelDescription: String) {
// Create the NotificationChannel, but only on API 26+ because
// the NotificationChannel class is new and not in the support library
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val importance = NotificationManager.IMPORTANCE_DEFAULT // set importance
val channel = NotificationChannel(channelId, name, importance).apply {
description = channelDescription
}
// Register the channel with the system
notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager?.createNotificationChannel(channel)
}
}
Android 8.0(API 26)부터 채널을 생성해 알람을 주어야합니다.
채널은 알림을 카테고리별로 묶어 중요도를 설정하거나, 상태(ON/OFF)를 제어하도록 하는 등의 역할을 합니다.
2. 알림 생성과 나타내기
private fun displayNotification() {
val notificationId = 66
val notification = Notification.Builder(applicationContext, CHANNEL_ID)
.setSmallIcon(R.drawable.icon_example)
.setContentTitle("Example")
.setContentText("This is Notification Test")
.build()
notificationManager?.notify(notificationId, notification)
}
알림의 내용과 같은 세부사항들을 설정하여 만들어줍니다.
notificationManager를 통해 상단바에 알림을 줍니다.
전체 코드
차례로 MainActivity.kt와 activity_main.xml입니다.
참고
https://developer.android.com/training/notify-user/build-notification#groovy
https://youngest-programming.tistory.com/491#recentComments
728x90
'안드로이드' 카테고리의 다른 글
Android ViewModel Test - Junit4 (2) | 2023.09.06 |
---|---|
[android][kotlin] ViewFlipper 사용하기 (0) | 2021.05.18 |
[android][kotlin] 달력, 시계, 타이머 사용하기 (0) | 2021.05.10 |
[android] appbar color바꾸기 (toolbar 이용하기) (0) | 2021.03.07 |
[android][kotlin] 카메라 권한 얻어 사용하기 (2) | 2021.02.24 |
댓글