0

在我的应用程序中,我有退出按钮来退出应用程序。所以我有finish()所有的活动。但我失去了 h/w 后退按钮的行为。所以我的问题是:我想回到所有活动,也想在点击退出按钮时退出..

4

5 回答 5

4

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

按下后退按钮时完成所有活动

并且永远不要使用 system.exit 退出应用程序关闭应用程序并在 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);

       }
});
于 2012-04-18T08:57:19.610 回答
0
System.exit(1)

可能有帮助..争论很重要..您也可以尝试这种方法..

于 2012-04-18T08:47:55.680 回答
0

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

于 2012-04-18T08:52:44.650 回答
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());
于 2012-04-18T09:04:03.647 回答
0

/** 我发现和工作的最简单的方法。onclick="exitBtn"在 XML 文件中设置按钮。并在 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();
}
于 2017-07-03T19:01:25.163 回答