0

我正在尝试在我的应用程序中添加主题更改选项。我有一个名为时间线的主要活动。从那里用户可以转到主题更改活动可以更改主题。它会更改主题更改活动的主题,但不会更改时间线,即 mainactivity。当我再次重新加载时间线活动,我可以看到 chnage。

然后我添加以下代码以保存主题更改活动中的按钮以重新加载时间线活动

save.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            finish();
            Intent i = new Intent(BackgroundChange.this, TimeLine.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            startActivity(i);
            Intent k = new Intent(BackgroundChange.this,
                    SettingsActivity.class);
            startActivity(k);

        }
    });

它运作良好。

但是当我退出我的应用程序并重新开始时,我可以看到在主题之前的时间线活动。

我使用以下代码退出应用程序

 exit.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            finish();
       Intent intent = new Intent(Intent.ACTION_MAIN);
                                intent.addCategory(Intent.CATEGORY_HOME);
                                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                                startActivity(intent);

        }
    });

如果我再次退出,我可以看到更改的时间线。我想在退出我的应用程序时清除所有活动。退出后我无法保留任何以前的活动。现在我该怎么办?请给我一个建议..

4

3 回答 3

2

在出口处,

exit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
               Intent intent = new Intent(getApplicationContext(),TimeLine.class); //This will finish all activities except TimeLine
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                            intent.putExtra("exit", true);
                            startActivity(intent);

    }
});

在时间轴的 OnCreate 中,

if(getIntent().getBooleanExtra("exit", false))
 finish(); //This will finish your main activity
于 2013-01-23T12:22:02.903 回答
0

但是,如果您使用 this.finish() 它可以工作。删除所有意图并使用“this.finish()”。肯定会奏效的。如果它不起作用,则在完成()之后使用 System.exit(0)。

于 2013-01-23T12:20:44.917 回答
0

您可以在清单文件中为您的活动使用 noHistory="true"

于 2013-01-23T12:24:34.510 回答