繁体   English   中英

如何在运行应用程序时使其在每次启动时都干净启动?

[英]How can i make my app when running it to start clean on every launch?

这是我在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一遍又一遍地运行该应用程序时,该应用程序将开始清理/重置。 但是,当我在这种情况下在lg g3上一次又一次地在我的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不存在,所以我不确定应该添加什么而不是它。 而且我也不确定这是否是正确的方法。

当您按下主屏幕按钮时,应用程序从Resumed(可见)移动到暂停(部分可见),直到android需要另一个应用程序的内存/资源,然后移动到Stopped并销毁,这表示您不是用户友好或“ android方式”。

我们可以随时使用

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

但这会在以后的应用程序流程中引起很多问题。 Android Activity生命周期

编辑了::以实现数据清理而不会丢失流程

将此添加到清单文件到您希望每次清除的活动中: android:noHistory="true"
并覆盖您的背部新闻:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM