Pending Intent Basic

2023. 7. 25. 11:30개발/Android

What is Pending Intent ?

  • 작업 실행을 지연할 수 있는 wrapper
  • intent 캡슐화 가능
  • activity 시작 가능
  • intent broadcast 가능
  • service 시작 가능
  • 사용자 대신 다른 작업 수행 가능

→ 의도를 다른 구성요소에 위임, 나중에 할 작업 예약 가능!

Make Pending Intent

val intent = Intent(context, MyActivity::class.java)
val pendingIntent = PendingIntent.getActivity(context, requestCode, intent, flags)

Pending Intent - FLAG

  • FLAG_UPDATE_CURRENT : 현재 intent의 추가 데이터로 업데이트됨
  • FLAG_CANCEL_CURRENT : Pending Intent 이미 존재하면 새 intent 생성 전에 취소됨
  • FLAG_ONE_SHOT : 한 번만 사용 가능. 실행 후 자동 취소
  • FLAG_NO_CREATE : 존재하는게 없으면 안만들고 NULL반환함

Pending Intent를 사용하는 방법

  1. Activity 시작 : ex) 알람을 탭하면 연결된 activity 가 시작됨
  1. Broadcast Intent : alert 을 예약하고 broadcast
  1. service 시작 : 특정 시간에 / 이벤트의 응답으로(사용자가 위젯 클릭 등)

주의사항

  1. 명시적인 구성요소의 사용
  1. FLAG_UPDATE_CURRENT 남용 금지
  1. 고유한 요청 코드 유지

Uploaded by N2T

'개발 > Android' 카테고리의 다른 글

Architecture guide - suggested by Google  (0) 2023.07.26
딥링크 BASIC  (0) 2023.07.26
Android Context  (0) 2023.07.25
Compound View  (0) 2023.07.25
Server Driven UI  (0) 2023.07.25