반응형
- 안드로이드 4.0 이하 버전 -> 기본 알림 메시지 / 4.1 이상 -> 알림 메시지를 접었다 폈다 가능
- 펼쳐진 메시징에 부가 정보 표시 가능 ex)이미지 등, 메세지
- os 버전별로 접힌 상태로, 펼져진 상태로 등등 인터페이스 조금 달라짐
Big Picture
- 메세지를 펼쳤을 때 이미지를 볼 수 있음
binding.button.setOnClickListener {
val builder = getNotificationBuilder("style", "style Notification")
builder.setContentTitle("Big Picture")
builder.setContentText("Big Picture Notification")
// 메세지 아이콘
builder.setSmallIcon(android.R.drawable.ic_menu_camera)
// 메세지를 터치하면 자동으로 제거됨
builder.setAutoCancel(true)
// 다양한 경로의 이미지를 bitmap 객체로 만들어 사용할 수 있음
// Big Picture Notification 객체 생성
val big = NotificationCompat.BigPictureStyle(builder)
// 보여줄 이미지 설정
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.custom_img)
big.bigPicture(bitmap) // big picture 세팅
big.setBigContentTitle("Big Picture Title") // 접은거 폈을때 '부가 정보의 타이틀'
big.setSummaryText("Summary text")
val notification = builder.build()
val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.notify(10, notification)
}
Big Text Style
- 메세지를 펼쳤을 때 장문의 문자열을 표시
binding.button2.setOnClickListener {
val builder = getNotificationBuilder("style", "style Notification")
builder.setContentTitle("Big Picture")
builder.setContentText("Big Picture Notification")
// 메세지 아이콘
builder.setSmallIcon(android.R.drawable.ic_menu_camera)
// 메세지를 터치하면 자동으로 제거됨
builder.setAutoCancel(true)
// Big Text Notification 객체 생성
val big = NotificationCompat.BigTextStyle(builder)
big.setBigContentTitle("Big Content Title")
big.setSummaryText("Summary text")
big.bigText("이것은 장문의 문자열 입니다.\n 저는 내일 슬램덩크를 보러 갑니다. 이걸로 4번째 감상인데요. 대만아 사랑한다.")// 장문의 문자열 세팅
val notification = builder.build()
val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.notify(10, notification)
}
InBox Style
- 메시지를 펼쳤을 때 여러 문자열 객체들을 표시할 수 있음 => 문자열을 한 번에 다 쓰는게 아니라 addLine() 메서드를 통해 여러 문자열 객체를 이어 붙여서 표시 한다는 의미
binding.button2.setOnClickListener {
val builder = getNotificationBuilder("style", "style Notification")
// 메시징 전체 타이틀, 텍스트
builder.setContentTitle("Inbox Text")
builder.setContentText("Inbox Notification")
// 메세지 아이콘
builder.setSmallIcon(android.R.drawable.ic_menu_camera)
// 메세지를 터치하면 자동으로 제거됨
builder.setAutoCancel(true)
// Big Text Notification 객체 생성
val inbox = NotificationCompat.InboxStyle(builder)
inbox.setBigContentTitle("title") // 메시징 접은거 열었을 때 타이틀
inbox.setSummaryText("Summary text")
inbox.addLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
inbox.addLine("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
inbox.addLine("cccccccccccccccccccccccccccccccccccccccccccccccccccccccc")
val notification = builder.build()
val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.notify(10, notification)
}
반응형
'Android' 카테고리의 다른 글
[안드로이드/Thread] Thread 란? (0) | 2023.04.16 |
---|---|
[안드로이드/메시징] Message Notification (0) | 2023.04.15 |
[안드로이드/Error] PendingIntent.FLAG_UPDATE_CURRENT 오류 (0) | 2023.04.14 |
[안드로이드/메시징] Pending Intent (0) | 2023.04.13 |
[안드로이드/메시징] Notification (0) | 2023.04.11 |