đ¤ Android PendingIntent - āϏāĻšāĻ āĻাāώাāϝ় āϏāĻŽ্āĻĒূāϰ্āĻŖ āĻŦ্āϝাāĻ্āϝা
đ¤ Android PendingIntent - āϏāĻšāĻ āĻাāώাāϝ় āϏāĻŽ্āĻĒূāϰ্āĻŖ āĻŦ্āϝাāĻ্āϝা
āĻāĻĒāύি āϝāĻĻি PendingIntent āϏāĻŽ্āĻĒāϰ্āĻে āĻāύāĻĢিāĻāϏāĻĄ āĻĨাāĻেāύ āĻŦা āĻāĻি āĻীāĻাāĻŦে āĻাāĻ āĻāϰে āĻŦুāĻāϤে āĻাāύ, āϤাāĻšāϞে āĻোāύো āĻিāύ্āϤা āύেāĻ! āĻāĻŽি āĻāĻāĻĻāĻŽ āĻŽāϏ্āϤিāώ্āĻ-āĻŦাāύ্āϧāĻŦ (Brain-Friendly) āϏāĻšāĻāĻাāĻŦে PendingIntent āĻŦ্āϝাāĻ্āϝা āĻāϰāĻŦ! đ
đ PendingIntent āĻী?
đ āϏāĻšāĻ āĻাāώাāϝ়:
āĻāĻāĻি PendingIntent āĻšāϞো āĻāĻŦিāώ্āϝāϤে āĻাāϞাāύোāϰ āĻāύ্āϝ āĻŦুāĻ āĻāϰে āϰাāĻা āĻāĻāĻি āĻāύāĻেāύ্āĻ (Intent)।
đ¯ āĻāĻĻাāĻšāϰāĻŖ:
āϧāϰুāύ, āĻāĻĒāύি āĻŦāύ্āϧুāĻĻেāϰ āĻāύ্āϝ āĻāĻāĻি āϏাāϰāĻĒ্āϰাāĻāĻ āĻĒাāϰ্āϏেāϞ āĻĒাāĻ াāϤে āĻাāύ đ, āĻিāύ্āϤু āĻāĻĒāύি āϏāϰাāϏāϰি āĻĻিāϤে āĻĒাāϰāĻŦেāύ āύা।āϤাāĻ, āĻāĻĒāύি āĻāĻāĻি āĻুāϰিāϝ়াāϰ āϏাāϰ্āĻিāϏāĻে (PendingIntent) āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻĒাāϰ্āϏেāϞāĻি āĻŦুāĻ āĻāϰে āϰাāĻāϞেāύ đĻ
āĻāĻŦং āϝāĻāύāĻ āĻĻāϰāĻাāϰ āĻšāĻŦে, āĻুāϰিāϝ়াāϰ āϏাāϰ্āĻিāϏ āĻĒাāϰ্āϏেāϞāĻি āĻĒৌঁāĻে āĻĻেāĻŦে!
āĻ িāĻ āϤেāĻŽāύāĻ, PendingIntent Android-āĻে āĻŦāϞে— "āĻāĻ āĻাāĻāĻা āĻĒāϰāĻŦāϰ্āϤীāϤে āĻāϰো"
đ¤ āĻেāύ PendingIntent āĻĻāϰāĻাāϰ?
āĻিāĻু āĻ্āώেāϤ্āϰে āϏāϰাāϏāϰি Intent āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাāϝ় āύা, āϝেāĻŽāύ—
1️⃣ āύোāĻিāĻĢিāĻেāĻļāύ āĻĨেāĻে āĻ
্āϝাāĻāĻļāύ āĻাāϞাāύো
2️⃣ āĻ
্āϝাāϞাāϰ্āĻŽ āĻŽ্āϝাāύেāĻাāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āύিāϰ্āĻĻিāώ্āĻ āϏāĻŽāϝ় āĻĒāϰ āĻ
্āϝাāĻāĻļāύ āĻাāϞাāύো
3️⃣ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āĻĨেāĻে āĻ
্āϝাāĻ্āĻিāĻিāĻি āĻাāϞাāύো
āĻāĻ্āώেāϤ্āϰে PendingIntent āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻšāϝ়, āϝাāϤে āϏিāϏ্āĻেāĻŽ āĻĒāϰে āĻāĻি āĻাāϞাāϤে āĻĒাāϰে।
đ ️ āĻীāĻাāĻŦে PendingIntent āĻাāĻ āĻāϰে?
đš Intent → āϏাāϧাāϰāĻŖāϤ Activity, Service, āĻŦা BroadcastReceiver āĻাāϞাāϤে āĻŦ্āϝāĻŦāĻšৃāϤ āĻšāϝ়।
đš PendingIntent → Intent āĻŦুāĻ āĻāϰে āϰাāĻে, āϝেāύ āĻ
āύ্āϝ āĻোāύো āĻ
্āϝাāĻĒ āĻŦা āϏিāϏ্āĻেāĻŽ āĻĒāϰে āĻāĻি āĻাāϞাāϤে āĻĒাāϰে।
đ¯ āĻāĻĻাāĻšāϰāĻŖ:
āϧāϰুāύ, āĻāĻĒāύি āĻāĻāĻি āĻ ্āϝাāϞাāϰ্āĻŽ āϏেāĻ āĻāϰāϞেāύ, āϝা ā§§ā§Ļ āĻŽিāύিāĻ āĻĒāϰ āĻāĻāĻি āĻ ্āϝাāĻĒ āĻুāϞāĻŦে।āĻিāύ্āϤু āϝāĻĻি āĻāĻĒāύি āĻ ্āϝাāĻĒāĻি āĻŦāύ্āϧāĻ āĻāϰে āĻĻেāύ, āϤāĻŦুāĻ āϏিāϏ্āĻেāĻŽ PendingIntent-āĻāϰ āĻŽাāϧ্āϝāĻŽে āύিāϰ্āĻĻিāώ্āĻ āϏāĻŽāϝ় āĻĒāϰ āĻ ্āϝাāϞাāϰ্āĻŽ āĻাāϞাāĻŦে!
đ ️ PendingIntent āϤৈāϰি āĻāϰাāϰ ā§ŠāĻি āĻāĻĒাāϝ়
PendingIntent āϤৈāϰি āĻāϰāϤে āϤিāύāĻি āĻŽেāĻĨāĻĄ āϰāϝ়েāĻে—
| āĻŽেāĻĨāĻĄ | āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšāϝ় |
|---|---|
PendingIntent.getActivity() |
āĻোāύো Activity āĻুāϞāϤে |
PendingIntent.getService() |
āĻোāύো Service āĻাāϞাāϤে |
PendingIntent.getBroadcast() |
āĻোāύো BroadcastReceiver āĻাāϞাāϤে |
đ Example: Notification-āĻ PendingIntent āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা
āϧāϰুāύ, āĻāĻĒāύি āĻāĻāĻি āύোāĻিāĻĢিāĻেāĻļāύ āĻ্āϞিāĻ āĻāϰāϞে āĻ ্āϝাāĻĒেāϰ āĻāĻāĻি Activity āĻুāϞāϤে āĻাāύ।
✅ āϧাāĻĒ ā§§: Intent āϤৈāϰি āĻāϰুāύ
Intent intent = new Intent(context, MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
āĻāĻি āĻŦāϞে āĻĻিāĻ্āĻে āϝে "āĻāĻŽাāϰ Activity āĻুāϞāϤে āĻšāĻŦে"
✅ āϧাāĻĒ ā§¨: PendingIntent āϤৈāϰি āĻāϰুāύ
PendingIntent pendingIntent = PendingIntent.getActivity(
context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT
);
āĻāĻাāύে PendingIntent.getActivity() āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšāϝ়েāĻে āĻাāϰāĻŖ āĻāĻŽāϰা āĻāĻāĻি Activity āĻুāϞāϤে āĻাāĻ।
✅ āϧাāĻĒ ā§Š: āĻāĻি Notification-āĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ
Notification notification = new NotificationCompat.Builder(context, "channel_id")
.setContentTitle("Hello!")
.setContentText("Click to open MyActivity")
.setSmallIcon(R.drawable.ic_notification)
.setContentIntent(pendingIntent) // āĻāĻাāύে PendingIntent āϏেāĻ āĻāϰা āĻšāϞো
.setAutoCancel(true)
.build();
āĻāĻāύ āϝāĻāύāĻ āύোāĻিāĻĢিāĻেāĻļāύ āĻ্āϞিāĻ āĻāϰāĻŦেāύ, āϤāĻāύ MyActivity āĻুāϞে āϝাāĻŦে! đ
đ Example: AlarmManager-āĻ PendingIntent āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা
āϧāϰুāύ, āĻāĻĒāύি ā§Ģ āϏেāĻেāύ্āĻĄ āĻĒāϰ āĻāĻāĻি āĻŦ্āϰāĻĄāĻাāϏ্āĻ āĻĒাāĻ াāϤে āĻাāύ।
✅ āϧাāĻĒ ā§§: Intent āϤৈāϰি āĻāϰুāύ
Intent intent = new Intent(context, MyBroadcastReceiver.class);
✅ āϧাāĻĒ ā§¨: PendingIntent āϤৈāϰি āĻāϰুāύ
PendingIntent pendingIntent = PendingIntent.getBroadcast(
context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT
);
✅ āϧাāĻĒ ā§Š: āĻāĻি AlarmManager-āĻ āϏেāĻ āĻāϰুāύ
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(
AlarmManager.RTC_WAKEUP,
System.currentTimeMillis() + 5000, // ā§Ģ āϏেāĻেāύ্āĻĄ āĻĒāϰ
pendingIntent
);
āĻāĻāύ ā§Ģ āϏেāĻেāύ্āĻĄ āĻĒāϰ MyBroadcastReceiver āĻāϞāĻŦে! ⏳
⚠️ āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻŦিāώā§: PendingIntent āĻĢ্āϞ্āϝাāĻ (Flags)
PendingIntent āϤৈāϰি āĻāϰাāϰ āϏāĻŽāϝ় āĻিāĻু āĻĢ্āϞ্āϝাāĻ (Flags) āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšāϝ়—
| Flag | āĻাāĻ |
|---|---|
FLAG_UPDATE_CURRENT |
āϝāĻĻি PendingIntent āĻāĻে āĻĨেāĻেāĻ āĻĨাāĻে, āϤাāĻšāϞে āĻāĻĒāĻĄেāĻ āĻšāĻŦে |
FLAG_CANCEL_CURRENT |
āĻāĻেāϰ PendingIntent āĻŦাāϤিāϞ (cancel) āĻāϰে āύāϤুāύ āϤৈāϰি āĻāϰāĻŦে |
FLAG_NO_CREATE |
āϝāĻĻি PendingIntent āύা āĻĨাāĻে, āϤাāĻšāϞে āύāϤুāύ āϤৈāϰি āĻāϰāĻŦে āύা |
FLAG_ONE_SHOT |
PendingIntent āĻāĻāĻŦাāϰāĻ āĻāϞāĻŦে, āĻāϰāĻĒāϰ āĻŦাāϤিāϞ āĻšāĻŦে |
✅ āϏাāϧাāϰāĻŖāϤ FLAG_UPDATE_CURRENT āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšāϝ়!
đ āĻāĻĒāϏংāĻšাāϰ (Summary)
✔ PendingIntent āĻšāϞো āĻāĻāĻি Intent, āϝা āĻāĻŦিāώ্āϝāϤে āĻাāϞাāύোāϰ āĻāύ্āϝ āĻŦুāĻ āĻāϰে āϰাāĻা āĻšāϝ়।
✔ āĻāĻি Notification, AlarmManager, āĻāĻŦং BroadcastReceiver-āĻāϰ āĻ্āώেāϤ্āϰে āĻŦেāĻļি āĻŦ্āϝāĻŦāĻšাāϰ āĻšāϝ়।
✔ getActivity(), getService(), āĻāĻŦং getBroadcast() – āĻāĻ ā§ŠāĻি āĻŽেāĻĨāĻĄ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšāϝ়।
✔ āϏāĻ িāĻ FLAG āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ!
đ¯ PendingIntent āĻŽāύে āϰাāĻাāϰ āϏāĻšāĻ āĻিāĻĒāϏ:
1️⃣ PendingIntent āϏāϰাāϏāϰি Intent āĻাāϞাāϝ় āύা, āĻāĻি āĻāĻŦিāώ্āϝāϤে āĻাāϞাāύোāϰ āĻāύ্āϝ āĻŦুāĻ āϰাāĻে।
2️⃣ āĻāĻি Notification, AlarmManager, āĻāĻŦং BroadcastReceiver-āĻāϰ āĻāύ্āϝ āĻĻāϰāĻাāϰি।
3️⃣ FLAG_UPDATE_CURRENT āĻŦেāĻļি āĻŦ্āϝāĻŦāĻšাāϰ āĻšāϝ়, āĻাāϰāĻŖ āĻāĻি āĻāĻেāϰ Intent āĻāĻĒāĻĄেāĻ āĻāϰে।
đ āĻāĻļা āĻāϰি, āĻāĻāύ PendingIntent āύিāϝ়ে āĻāϰ āĻোāύো āĻāύāĻĢিāĻāĻļāύ āύেāĻ! āϝāĻĻি āĻোāύো āĻĒ্āϰāĻļ্āύ āĻĨাāĻে, āĻাāύাāϤে āĻুāϞāĻŦেāύ āύা! đ
Comments
Post a Comment