Java 在每次发布时,我如何让我的应用程序以干净的方式运行?
这是我在MainActivity.java中的onCreateJava 在每次发布时,我如何让我的应用程序以干净的方式运行?,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();
@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,那么当我每次启动应用程序时单击设备上的应用程序图标时,我应该怎么做才能做到这一点?我的意思是将重新开始,而不是像现在一样,一些动作被留下,比如演讲或文本。如果单击“上一步”按钮或“主页”按钮,然后单击应用程序图标再次运行,则我希望它开始干净。不是在单击返回/主页按钮时,而是在单击应用程序图标再次运行时,然后使其开始干净无任何痕迹。我已将其添加到答案中,请检查:)