如何实现退出按钮行为?

时间:2012-04-18 08:45:39

标签: android android-activity

在我的应用程序中,我有退出按钮退出应用程序。所以我有finish()所有的活动。但我失去了后退按钮的行为。所以我的问题是:我想回到所有活动,并且还想在退出按钮时退出..

5 个答案:

答案 0 :(得分:4)

你的问题有点令人困惑,但我认为你需要这个

Finish all activities when back button is pressed

并且从不使用system.exit退出应用程序Close application and launch home screen on Android

编辑


editButton.setOnClickListener(new View.OnCLickListener()
{
       public void onClick(View v) {
        finish();
        Intent intent = new Intent(Intent.ACTION_MAIN); 
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        intent.addCategory(Intent.CATEGORY_HOME); 
        startActivity(intent);

       }
});

答案 1 :(得分:0)

System.exit(1)

可能会有所帮助..论证很重要..你也可以尝试this方法..

答案 2 :(得分:0)

您可能希望覆盖onBackPressed()方法并在其中调用finish()

答案 3 :(得分:0)

使用下面的代码...我希望它能正常工作

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 
    ComponentName componentInfo = taskInfo.get(0).topActivity;
    am.restartPackage(componentInfo.getPackageName());

答案 4 :(得分:0)

/ **我发现和工作的最简单方法。在XML文件中为按钮设置onclick="exitBtn"。并在java * /

中定义该按钮
public void exitBtn(View v) {

    AlertDialog.Builder builder = new AlertDialog.Builder(OderActivity.this); // this will pop up a dialog box for OK or Cancel//
    builder.setMessage("Do you want to exit");
    builder.setCancelable(true);
    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.addCategory(Intent.CATEGORY_HOME);
            startActivity(intent);
            finish();

        }
    });
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            dialogInterface.cancel();
        }
    });

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