PendingIntent

 

PendingIntent는 Intent를 가지고 있는 클래스로, 기본 목적은 다른 애플리케이션(다른 프로세스)의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것입니다.

PendingIntent 용도

  • Notification으로 작업을 수행할 때 인텐트가 실행되도록 합니다. Notification은 안드로이드 시스템의 NotificationManager가 Intent를 실행합니다. 즉 다른 프로세스에서 수행하기 때문에 Notification으로 Intent수행시 PendingIntent의 사용이 필수 입니다.
  • 런처 바탕화면의 위젯으로 Intent 작업을 수행할 때 PendingIntent를 사용합니다.
  • AlarmManager를 통해 지정된 시간에 인텐트가 시작되도록 할때 PendingIntent를 사용합니다.

PendingIntent 생성하는방법

PendingIntent는 컴포넌트의 유형에 따라 생성자 메서드를 호출하는 방법이 다릅니다.

  • Activity를 시작하는 Intent의 경우 PendingIntent.getActivity()
  • Service를 시작하는 Intent의 경우 PendingIntent.getService()
  • BroadcastReceiver를 시작하는 Intent의 경우 PendingIntent.getBroadcast()

호출하려는 컴포넌트에 맞게 PendingIntent객체를 생성해주면 됩니다.

 

카테고리: Tutorial

1개의 댓글

성빈 · 2023년 6월 27일 6:56 오후

깔끔한 정리 감사합니다!

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.