Android PendingIntent 가이드 - 개념부터 실전 사용까지

✨ 개요

Android에서 PendingIntent는 다른 앱이나 시스템이 앱의 권한으로 특정 작업을 수행할 수 있도록 허용하는 메커니즘입니다.

예를 들어, 알림 클릭 시 액티비티 실행, 알람 매니저를 통해 예약된 작업 실행 등 다양한 곳에서 사용됩니다.

“Intent를 캡슐화하여 나중에 다른 컴포넌트(시스템 또는 외부 앱)가 실행할 수 있도록 위임하는 객체”


1. ✅ PendingIntent가 필요한 이유


2. ✅ PendingIntent의 기본 구성 요소


3. 🔍 PendingIntent 생성 메서드 & Flag 설명


4.🧩 기본 사용법

4.1 AlarmManager

// 권한필요 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
val intent = Intent(context, AlarmReceiver::class.java)
val pendingIntent = PendingIntent.getBroadcast(context, 0, intent, FLAG_IMMUTABLE)
alarmManager.setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)

4.2 Notification

val intent = Intent(this, TargetActivity::class.java)
val pendingIntent = PendingIntent.getActivity(this, 0, intent, FLAG_IMMUTABLE)

val notification = NotificationCompat.Builder(this, "CHANNEL_ID")
    .setContentTitle("알림 제목")
    .setContentIntent(pendingIntent)
    .setAutoCancel(true)
    .build()

5.⚠️ 주의사항


6.🧠 결론



Related Posts