안드로이드 앱 개발 공부/안드로이드 기본(노션 이동)

[Android] PendingIntent

플래시🦥 2023. 3. 4.
반응형
  • Intent를 가지고 있는 클래스
  • 다른 애플리케이션(다른 프로세스)의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것
  • 즉, 다른 앱이 프로세스를 점유하고 있을 때 실행된다.

 

[용도]

  • Notification (푸시 알림)으로 Intent 작업 수행 시 사용
  • 바탕화면 (런쳐) 위젯에서 Intent 작업 수행 시 사용
  • AlarmManager 를 통해 지정된 시간에 Intent 작업 수행 시 사용

 

PendingIntent 생성하는방법

  • Activity
    • PendingIntent.getActivity(Context, Int, Intent, Int)
  • Service
    • PendingIntent.getService(Context, Int, Intent, Int)
  • BroadcastReceiver
    • PendingIntent.getBroadcast(Context, Int, Intent, Int)

(Context, Int, Intent, Int) 정보

  1. Context 정보
  2. requestCodePendingIntent를 가져올 때 구분하기 위한 고유 코드
  3. 실행할 Intent
  4. 플래그 FLAG_NO_CREATE→ 이미 생성된 PendingIntent 가 있다면 재사용 (없으면 Null 리턴) FLAG_UPDATE_CURRENT→ 이미 생성된 PendingIntent 가 있다면, Extra Data 만 갈아 끼움 (업데이트)
  5. FLAG_ONE_SHOT→ 해당 PendingIntent를 일회성으로 사용
  6. FLAG_CANCEL_CURRENT→ 이전에 생성한 PendingIntent 취소 후 새로 생성
728x90
반응형

댓글