کد لازم برای خروج از برنامه اندروید، به گونه ای که در اجرای بعدی برنامه به همان آخرین Activity که در آن بودیم وارد شویم (با اشاره بر روی دکمه Back گوشی یا یک دکمه (Button) در لایه گرافیکی برنامه)
در این مبحث قصد داریم که کد لازم برای خروج از برنامه اندروید را شرح بدهیم. البته کدی که ارائه می شود، به گونه ای است که وقتی از برنامه خارج شدیم، اگر دوباره برنامه اندروید را اجرا کنیم، وارد همان آخرین Activity خواهیم شد که در آن بوده ایم (نه اولین Activity برنامه اندروید). اگر قصد دارید که بعد از خروج از برنامه اندروید، اگر دوباره برنامه اندروید را اجرا کردیم، حتما اولین Activity اجرا شود (نه آخرین Activity که در آن بوده ایم)، آموزش شماره 2978 را بخوانید.
بخش اصلی کدها به صورت زیر می باشد :
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
یا اگر بخواهیم که از آخرین Activity خارج شده و به Activity یکی مانده به آخر رفته و سپس از برنامه خارج شویم (که باعث می شود با اجرای دوباره برنامه، به Activity یکی مانده به آخر وارد شویم)، باید کد finish(); را هم در ابتدای آن بنویسیم :
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
اکنون دو مورد را برای کد بالا شرح می دهیم (در صورت تمایل، کد finish(); را هم به آنها اضافه کنید، آن را به صورت توضیح در کدها قرار داده ایم) :
خروج از برنامه اندروید، هنگام اشاره بر روی دکمه Back گوشی :
همان طور که می دانید، اگر کاربر در activity اصلی، بر روی دکمه back گوشی، اشاره کند، آنگاه از برنامه اندروید خارج خواهد شد، اما ممکن است که بخواهیم در یک activity دیگر، اگر کاربر بر روی دکمه back اشاره کرد، نیز از برنامه اندروید خارج شود.
برای این منظور، درون activity ای که می خواهیم با دکمه back ، از برنامه خارج شود، کدهای زیر را می نویسیم :
public void onBackPressed() {
// this.finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
خروج از برنامه اندروید، هنگام اشاره بر روی یک دکمه (Button) در لایه گرافیکی برنامه اندروید :
فرض کنید که در لایه گرافیکی یک Activity از برنامه اندروید، یک دکمه (Button) داشته باشیم و بخواهیم که با اشاره کاربر بر روی آن، از برنامه اندروید خارج شود. برای این منظور، کدهای زیر را می نویسیم :
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
در کد بالا، id مربوط به دکمه (Button) را برابر button1 در نظر گرفته ایم.


دمت گرم داداش خیلی کمکم کرد ایولا داری


سلام خیلی ممنون از زحماتتون همیشه پاینده باشید


سلام و خسته نباشید خدمت ادمین عزیز و همکارانشون ....من این کدو تو کلاس اکتیویتی2 وارد کردم اما وقتی back میزنم از برنامه جوری خارج میشه انگار که دکمه home فشار دادی...وقتی دوباره میرم داخل به جای اینکه اکتیویتی اول بیاد اکتیویتی 2 باز میشه...وقتی هم بک میزنم همون اش و همون کاسه..مشکل از کجاست؟


کسی نیست جوابمو بده؟


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


با سلام و احترام
من یک اسلاید منو طراحی کردم و توش ی گزینه گذاشتم برای خروج
اما از دستور alert dialog استفاده نکردم بلکه خودم ی لایوت برای خروج طراحی کردم که توش دو تا دکمه داره
اما نمیدونم چ جوری این دو تا دکمه رو ادرس بدم....چون هرجوری ادرس میدم و با دستور finish() میگم ببنده استاپ ورکینگ میده
حالا نمیدونم چ جوری این دو تا دکمه رو راه بندازم
اگر امکانش هست راهنمایی بفرمایید ممنونتان میشوم


سپاسگزارم ادمین عزیز


سایت عالی داری ادمین جان
به راهت ادامه بده
همینه


سایتتون فوق العاده ست..... هر سوالی برام پیش میاد اینجا جوابش پیدا میشه
مررررسی


عاااااااالی بود. سایت های خارجی هم حتی مشکلم رو حل نکردن


خیلی ممنون عالیه


سلام خسته نباشید دختر من این برنامه رو نصب کرده و الان این برنامه غیر فعال نمیشه هی پسورد میخواد من چکار کنم


با سلام.ی برنامه باز شده تو گوشیمون zoodles. هرکاری میکنم قفلش باز نمیشه. این برنامه بسته هم نمیشه. لطفا راهنمایی کنید.


سلام ۱۹۵۰ رو امتحان کنید


اقا دمت گرم بابت این رمز


ممنون