Notification ?!!

ABL·2022년 11월 17일
0
post-thumbnail
post-custom-banner

Concepts of Notification

  • 상태바에 앱의 정보를 출력하는 것을 의미함 (알림)

배터리 상태가 있는 부분을 상태바라고 하며, 이는 일종의 시스템 창이다. 시스템 코어 정보를 뿌리기 위한 창

  • 액티비티가 제어 불가능, 액티비티의 영역이 아님
  • 직접 제어는 불가능하나, 시스템에 의뢰를 해서 시스템에서 관리하고 있는 상태바에 어떤 notification에 어떤 정보를 띄워줘 하고 의뢰하는 프로그램!

-액티비티에서 자체 notification을 띄우는게 가능하긴 하나, 자체 액티비티를 통해 유저에게 알림이 충분히 가능하기 때문에 잘 사용하진 않는다. 대신 broadcastreceiver과 servicer가 notification을 많이 구현하곤 한다.

알림은 NotificationManager의 notify() 함수로 발생하며,
Notification 객체는 NotificationCompat.Builder에 의해 생성된다
NotificationCompat.Builder가 필요한데 Builder를 만드는 방법이 API Level 26 버전부터 변경되었다.
-> NotificationChannel로 NotificationCompat.Builder을 생성함

  1. Notification을 띄우기 위해서는 NotificationManager의 notify라는 함수를 호출하면 상태바에 notification이 뜸
  2. 그 notification의 내용을 담은 게 바로 Notification 객체라고 보면 되는데, 이는 Notification 빌더에 의해 만들어짐. 근데 이 빌더를 만들 때 Channel 개념을 도입해서 만들어야 한다!

NotificationManager

채널 개념 - 어플리케이션에서 띄우는 notification을 구분해서, 각각 받을건지 안받을건지 설정할 수 있도록 함

-IMPORTANCE_HIGH - 헤드업이란 상태바의 아이콘말고 둥둥둥둥 떠있는 듯하게..? 잉?

small icon -> 확장 시 확장 컨텐츠, small icon, title, when, text 정보가 모두 보임

Notification 구성

코어 정보 이외의 다양한 정보 사용
user가 notification을 터치했을 때 이벤트 처리 (앱의 컴포넌트 실행)

profile
💻
post-custom-banner

0개의 댓글