একটি বিশেষ Activity এর একটি ব্যাক স্ট্যাকের প্রয়োজন নেই, সুতরাং আপনাকে মেনিফেস্টে এর Activity হায়ারারকি নির্ধারণ করতে হবে না এবং একটি ব্যাক স্ট্যাক গঠন করতে addParentStack()কল করতে হবে না। পরিবর্তে Activity টাস্ক অপশন সেটআপ করতে মেনিফেস্ট ব্যবহার করুন, এবং getActivity()কল করার মাধ্যমে PendingIntent তৈরী করুন:
android:name="activityclass"
একটিভিটির সম্পূর্ণ যোগ্যতাসম্পন্ন ক্লাস নেম।
android:taskAffinity=""
FLAG_ACTIVITY_NEW_TASK ফ্লাগের সাথে একত্রিত যা আপনি কোডে সেট করেছেন, এটা নিশ্চিত করে যে এই Activity অ্যাপলিকেশনের ডিফল্ট টাস্কের দিকে যায় না । যে কোন বিদ্যমান টাস্ক যার অ্যাপলিকেশনের ডিফল্ট সম্বন্ধ আছে তা প্রভাবিত হয় না।
android:excludeFromRecents="true"
সাম্প্রতিক সময় থেকে নতুন টাস্ক বর্জন করে, যাতে ইউজার দূর্ঘটনাবশত এটাত নেভিগেট করে ফিরে আসতে না পারে।
এই কোড চিত্রটি এলিমেন্ট কে প্রদর্শন করে:
<activity
android:name=".ResultActivity"
...
android:launchMode="singleTask"
android:taskAffinity=""
android:excludeFromRecents="true">
</activity>
...
একটি Intent তৈরী করুন যা Activity শুরু করে।
ফ্ল্যাগ FLAG_ACTIVITY_NEW_TASK এবং FLAG_ACTIVITY_CLEAR_TASK দিয়ে setFlags() কল করার মাধ্যমে একটি নতুন খালি টাস্ক শুরু করতে Activity সেট করুন।
এর জন্য আপনার প্রয়োজনীয় অন্য কোন অপশন সেট করুন।
getActivity()কল করার মাধ্যমে Intent থেকে একটি PendingIntent তৈরী করুন। এরপর আপনি এই PendingIntent কে setContentIntent()এ আরগুমেন্ট হিসাবে ব্যবহার করতে পারেন।
নিচের কোড চিত্রটি এই প্রক্রিয়াটা দেখাচ্ছে:
// Instantiate a Builder object.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
// Creates an Intent for the Activity
Intent notifyIntent =
new Intent(new ComponentName(this, ResultActivity.class));
// Sets the Activity to start in a new, empty task
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
// Creates the PendingIntent
PendingIntent notifyIntent =
PendingIntent.getActivity(
this,
0,
notifyIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
// Puts the PendingIntent into the notification builder
builder.setContentIntent(notifyIntent);
// Notifications are issued by sending them to the
// NotificationManager system service.
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Builds an anonymous Notification object from the builder, and
// passes it to the NotificationManager
mNotificationManager.notify(id, builder.build());