آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

بازگشت به یک Activity موجود در پس زمینه (که به حالت Stop یا Pause رفته)(یا به اصطلاح، Resume کردن یک Activity موجود در پس زمینه)، با روش Intent ، در برنامه نویسی اندروید

همان طور که می دانید، وقتی از یک Activity وارد یک Activity جدید می شویم، Activity قبلی به حالت Stop یا Pause می رود ( آموزش شماره 2802 ). هنگامی که ما درون Activity جدید هستیم، اگر روش Intent را به شکل زیر به کار ببریم، یک اجرای جدید از آن Activity خواهیم داشت، یعنی دو اجرا از آن Activity در صف Activity ها قرار می گیرد :


Intent intent = new Intent(Activity_2.this, Activity_1.class);
startActivity(intent);

در کد بالا، Activity_2 را برابر نام Activity فعلی در نظر گرفته ایم و Activity_1 نیز نام Activity قبلی است که در آن بوده ایم و اکنون در پس زمینه می باشد. با کد بالا، دو بار Activity_1 در صف Activity ها وجود خواهد داشت، یعنی اگر همین طور بر روی دکمه Back گوشی اشاره کنیم، دو بار آن را مشاهده می کنیم (دو اجرای جداگانه).

اما ممکن است که ما بخواهیم به همان اجرای قبلی Activity که در پس زمینه قرار گرفته است برگردیم، برای این منظور، باید یک Flag را برای روش Intent به کار ببریم :


Intent intent = new Intent(Activity_2.this, Activity_1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

کد بالا باعث می شود که همان اجرای موجود از Activity_1 که در پس زمینه است را دوباره ببینیم (Resume شود) و اگر با زدن دکمه Back از آن خارج شویم و همین طور دکمه Back را بزنیم، دیگر آن را نخواهیم دید (سایر Activity های موجود در پس زمینه را با همان ترتیبشان خواهیم دید و در نهایت از برنامه اندروید خارج می شویم (وقتی دیگر هیچ Activity دیگری در پس زمینه باقی نمانده باشد)).

نویسنده علیرضا گلمکانی
شماره کلید 2986
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)