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객체를 생성해주면 됩니다.
1개의 댓글
성빈 · 2023년 6월 27일 6:56 오후
깔끔한 정리 감사합니다!