如何在运行它时使我的应用程序在每次启动时开始清理?

时间:2015-09-29 05:31:06

标签: java android android-studio

这是我在MainActivity.java中的onCreate

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        startTime = SystemClock.uptimeMillis();
        serverChecksThread.start();
        status1 = (TextView) findViewById(R.id.textView3);
        timerValue = (TextView) findViewById(R.id.timerValue);
        uploadedfilescount = (TextView) findViewById(R.id.numberofuploadedFiles);
        uploadedfilescount.setText("Uploaded Files: 0");

        addListenerOnButton();
        initTTS();
    }

initTTS用于使用文本到语音。

public void initTTS() {
        Intent checkIntent = new Intent();
        checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
        startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
    }

问题是,当我通过android-studio一遍又一遍地运行应用程序时,应用程序开始清理/重置。但是当我在我的Android设备上反复运行应用程序时,在这种情况下,我点击应用程序图标,以便每次记住最后一个动作时,它有时只是一个TextView文本更改或有时文本到语音,所以有时我看到改变的文本,有时我听到最后的声音发言。就像它记住最后的行动一样。

我在一小时前尝试将其添加到我的MainActivitiy.java

public void onResume() {
        super.onResume();
        startActivity(new Intent(this, MainScree.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    }

但是MainScreen不存在,所以我不确定应该添加什么而不是它。 而且我也不确定这是否是正确的做法。

1 个答案:

答案 0 :(得分:2)

你的建议不是用户友好的,也不是“安卓方式” 当按下主页按钮时,应用程序从恢复(可见)移动到暂停(部分可见),直到android需要另一个应用程序的内存/资源,然后移动到已停止并销毁。

我们总是可以使用

 @Override
    public void onPuase() {
        finish();
    }

但这会在以后的应用流程中引起很多问题。 Android Activity life cycle

编辑::以实现数据清理而不会错过流程

将此添加到您的清单文件中,以便每次都要清除您要清除的行为: android:noHistory="true"
并覆盖你的背压:

@Override public void onBackPressed() { super.onBackPressed(); finish(); }