آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خروج از برنامه

iran-admin  11 سال پیش  11 سال پیش
0 0

با سلام

میخواهم کاری کنم که در برنامه وقتی  دکمه Back کلیک شد از برنامه اندروید، به گونه ای خارج شود که در اجرای بعدی برنامه به اولین Activity برنامه اندروید (Activity اصلی) وارد شوم، نه آخرین Activity که در آن بوده ایم .

دستوارتی هم که نوشتم به صورت زیر است :

@Override
    public void onBackPressed() {
        AlertDialog.Builder Dialog = new AlertDialog.Builder(AndroidMenusActivity.this);
        Dialog.setMessage("آيا واقعا قصد خروج داريد؟");
        Dialog.setTitle("خروج");
        Dialog.setCancelable(false);
        Dialog.setPositiveButton("بله", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                Toast toast = Toast.makeText(getApplicationContext(), "در پناه حق باشيد", Toast.LENGTH_SHORT);
                toast.setGravity(Gravity.CENTER, 0, 0);
                toast.show();
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_HOME);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
        });

        Dialog.setNegativeButton("خير", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {

                dialog.cancel();

            }
        });
        AlertDialog alert = Dialog.create();
        alert.show();
    }

با تشکر

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
حامد  11 سال پیش
0 0

به نظر می رسد شما میخواهید در وسط برنامه از برنامه خارج شوید

در onBackpress این قطعه کد را قرار دهید :

Intent intent =newIntent(this,MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("Exitme",true);
startActivity(intent);
finish();

سپس در Activity اصلی این قطعه کد را قرار دهید :

 if( getIntent().getBooleanExtra("Exitme",false)){
    finish();
}

 

البته فکر کنم شما با همان کدی که نوشتید بعد از startActivity کد finish() را قرار دهید مشکلتان حل شود


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .