0

کار با Activity ها ، در برنامه نویسی اندروید

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

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

هنگامی که ما درون 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 دیگری در پس زمینه باقی نمانده باشد)).

تشکرات از این پست
mty1378
دسترسی سریع به انجمن ها