এই পরিস্থিতির জন্য, আমি singleTask
ক্রিয়াকলাপ.এক্সএমএল বা ক্রিয়াকলাপের onResume()
ও onDestroy()
পদ্ধতিতে একটি পতাকা যথাক্রমে দু'এর একটিতে গিয়েছি ।
জন্য প্রথম সমাধান: আমি ব্যবহার করতে পছন্দ singleTask
বদলে ম্যানিফেস্টে কার্যকলাপের জন্য singleInstance
ব্যবহার অনুযায়ী singleInstance
আমি মূর্ত আউট যে কিছু অনুষ্ঠান কার্যকলাপ নিজেই জন্য একটি নতুন পৃথক উদাহরণস্বরূপ যা চলমান অ্যাপগুলির একটি দুটি পৃথক অ্যাপ্লিকেশন উইন্ডো আছে ফলে তৈরি বেকাকগ্রাউন্ডে এবং অতিরিক্ত মেমরির বরাদ্দের পাশাপাশি ব্যবহারকারীরা অ্যাপ্লিকেশন ভিউটি আবার চালু করার জন্য কিছু অ্যাপ্লিকেশন বেছে নেওয়ার জন্য খুব খারাপ ব্যবহারকারীর অভিজ্ঞতার ফলস্বরূপ। সুতরাং, আরও ভাল উপায় হ'ল নিম্নলিখিতটিগুলির মতো ম্যানিফেস্ট.এক্সএমএলে কার্যকলাপটি সংজ্ঞায়িত করা হয়:
<activity
android:name=".MainActivity"
android:launchMode="singleTask"</activity>
আপনি এখানে কার্যকলাপ লঞ্চ মোড চেক করতে পারেন ।
জন্য দ্বিতীয় সমাধান, আপনি শুধু একটি স্ট্যাটিক পরিবর্তনশীল বা পক্ষপাত পরিবর্তনশীল, উদাহরণস্বরূপ সংজ্ঞায়িত করতে হবে:
public class MainActivity extends Activity{
public static boolean isRunning = false;
@Override
public void onResume() {
super.onResume();
isRunning = true;
}
@Override
public void onDestroy() {
super.onDestroy();
isRunning = false;
}
}
এবং অন্য দিক থেকে যখন আপনি এই ক্রিয়াকলাপটি চালু করতে চান, কেবলমাত্র দেখুন:
private void launchMainActivity(){
if(MainActivity.isRunning)
return;
Intent intent = new Intent(ThisActivity.this, MainActivity.class);
startActivity(intent);
}