Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android活动完成_Android_Android Intent_Android Activity_Exit - Fatal编程技术网

Android活动完成

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

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

然后,我在MeChange活动中添加以下代码以保存按钮以重新加载时间线活动

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);}