1. 시작하기
알림 콘텐츠를 설정하려면 NotificationCompat.Builder 객체를 사용하여 알림 콘텐츠와 채널을 설정해야 한다.
- setSmallIcon() - 아이콘 설정, 필수 항목이다
- setContetntTitle - 제목
- setContentText - 본문 텍스트
val builder = Notification.Builder(context, "testChannel")
.setSmallIcon(R.drawable.test_icon)
.setContentTitle("test")
.setContentText("test")
2. 채널 만들기 및 중요도 설정
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val name = "테스트 채널"
val descriptionText = "testChannel"
val importance = NotificationManager.IMPORTANCE_DEFAULT
val channel = NotificationChannel(CHANNEL_ID, name, importance).apply {
description = descriptionText
}
val notificationManager: NotificationManager =
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
}
* 여기서 중요도(importance)란, HIGH, DEFAULT, LOG, MIN 네가지 종류로 나눠져 있다.
각자의 설명들은 해당 링크에서 읽어보도록 하자.
developer.android.com/training/notify-user/channels#importance
3. 알림 표시 및 intent 전달
notificationManager.notify(1, builder.build())
위와 같이 알림을 표시하기 위해선 notify 함수를 이용하여 notification을 띄워주면 된다.
또한, intent를 이용하여 알림을 클릭 시에 원하는 행동을 할 수 있다.
필자는 액티비티를 띄우고 싶었으므로,
val intent = Intent(context, MainActivity::class.java).apply{
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
}
val pendingIntent : PendingIntent = PendingIntent.getActivity(context, 0, intent, 0)
이와같이 pendingIntent를 초기화 해 준 후,
val builder = Notification.Builder(context, "testChannel")
.setSmallIcon(R.drawable.witness_icon)
.setContentTitle("test")
.setContentText("test")
.setContentIntent(pendingIntent)
.setAutoCancel(true)
builder에 .setContentIntent를 추가해 준다.
.setAutoCancel은 알림을 눌렀을 때 해당 알림이 삭제되게끔 해주는 메소드이다.
728x90
'개발 공부 기록 > 04. Android' 카테고리의 다른 글
[Android][Kotlin] zxing 라이브러리를 이용해서 바코드 , QR코드를 인식해보자 (커스텀 진행) (1) | 2021.03.10 |
---|---|
[Kotlin] 데이터가 리스트 안에 존재하는지 찾는법 (0) | 2020.12.29 |
[Android][Kotlin] AutoCompleteTextView를 사용해보자 (0) | 2020.12.28 |
[Android][Kotlin] SharedPreferences 이용하여 자동로그인 구현하기 (0) | 2020.12.01 |
[PHP] php에서 fcm 으로 push 메시지 보내기 (0) | 2020.11.27 |