Android活动完成
我正在尝试在我的应用程序中添加主题更改选项。我有一个名为timeline的主活动。从那里,用户可以转到MeChange活动可以更改主题。它更改MeChange活动的主题,但不更改timeline,即mainactivity。当我再次重新加载timeline活动时,我可以看到该技术 然后,我在MeChange活动中添加以下代码以保存按钮以重新加载时间线活动Android活动完成,android,android-intent,android-activity,exit,Android,Android Intent,Android Activity,Exit,我正在尝试在我的应用程序中添加主题更改选项。我有一个名为timeline的主活动。从那里,用户可以转到MeChange活动可以更改主题。它更改MeChange活动的主题,但不更改timeline,即mainactivity。当我再次重新加载timeline活动时,我可以看到该技术 然后,我在MeChange活动中添加以下代码以保存按钮以重新加载时间线活动 save.setOnClickListener(new OnClickListener() { @Override
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);
}
});
而且效果很好
但是,当我退出应用程序并重新启动时,我可以看到Machage之前的时间线活动
对于退出应用程序,我使用以下代码
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);
}
});
如果我再次退出,我可以看到更改的时间线。我想在退出应用程序时清除所有活动。退出后我不能保留任何以前的活动。现在我能做什么呢?请给我一个建议。但是如果你使用这个.finish(),它可以工作。删除所有的意图,只使用“this.finish()”。当然是 会有用的。如果它不工作,请在完成()后使用System.exit(0)。在退出中
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);
}
});
在timeline的OnCreate中
if(getIntent().getBooleanExtra("exit", false))
finish(); //This will finish your main activity
您可以对清单文件中的活动使用noHistory=“true”使用:public void onClick(View v){finish();System.exit(0);}