Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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
Java 在每次发布时,我如何让我的应用程序以干净的方式运行?_Java_Android_Android Studio - Fatal编程技术网

Java 在每次发布时,我如何让我的应用程序以干净的方式运行?

Java 在每次发布时,我如何让我的应用程序以干净的方式运行?,java,android,android-studio,Java,Android,Android Studio,这是我在MainActivity.java中的onCreate @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startTime = SystemClock.uptimeMillis();

这是我在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设备上一遍又一遍地运行应用程序时(在本例中是lg g3),我会点击应用程序图标,这样每次它都会记住最后一个动作,有时只是文本视图文本发生了更改,有时是文本转换成语音,所以有时我会看到更改后的文本,有时我会听到最后一个语音。就像是在回忆最后的动作

一小时前我尝试将此添加到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));
    }
但是主屏幕不存在,所以我不确定应该添加什么来代替它。
而且我也不确定这是否是正确的方法。

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

我们可以随时使用

 @Override
    public void onPuase() {
        finish();
    }
但这会在以后的应用程序流中给你带来很多问题。

Edited::实现数据清理而不丢失流

将此项添加到您的清单文件中,并添加到您希望每次清除的活动中:
android:noHistory=“true”

并覆盖您的背按:

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

我不认为你真的想干净地启动应用程序-这不是真正的“安卓方式”。看看“Android活动生命周期”,你应该能够根据操作系统暂停/隐藏你的应用程序时发生的事件以你想要的方式清除你的状态。你为什么要在onResume中启动新的活动,如果你想启动MainScreen,那么你应该将其声明为启动程序活动。Sarah,那么当我每次启动应用程序时单击设备上的应用程序图标时,我应该怎么做才能做到这一点?我的意思是将重新开始,而不是像现在一样,一些动作被留下,比如演讲或文本。如果单击“上一步”按钮或“主页”按钮,然后单击应用程序图标再次运行,则我希望它开始干净。不是在单击返回/主页按钮时,而是在单击应用程序图标再次运行时,然后使其开始干净无任何痕迹。我已将其添加到答案中,请检查:)