我有两个在平板电脑上一起工作的应用程序。我注意到,如果用户退出一个应用程序并且下次打开应用程序时oncreate被调用,但是如果他们回到主页然后返回oncreate则不会被调用..我也注意到onPause,onStop,onResume是NEVER被调用..我需要一些如何确保应用程序完成,如果用户回家...
@Override
protected void onPause () {
super.onPause();
Toast.makeText(this, "Pause MED", Toast.LENGTH_SHORT).show();
finish();
}
@Override
protected void onStop () {
super.onStop();
Toast.makeText(this, "stopped MED", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart () {
Toast.makeText(this, "Restart MED", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart () {
Toast.makeText(this, "Start MED", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume () {
super.onResume();
Toast.makeText(this, "RESUME MED", Toast.LENGTH_SHORT).show();
Intent currentIntent = this.getIntent();
Bundle extras = currentIntent.getExtras();
或其他选项是,如果我的其他应用可以检查该应用是否已打开并关闭它..
请帮助
答案 0 :(得分:5)
主页按钮不会终止应用程序,它应该在命中时调用onPause(),然后在你回到应用程序时调用onResume()。而不是使用吐司,为什么不打印到日志?我确信这些方法都被解雇了。可能只是Toast没有显示,因为在修改UI之前或之后调用这些方法。
我从经验中注意到的一些看起来有点奇怪的事情:onResume()即使你正在启动应用程序的新实例(在点击主页按钮后没有回来)也会被触发...我是非常肯定只要你的活动获得前景,就会触发onResume(),无论它是否已经在后台运行。
答案 1 :(得分:1)
您的应用在按下主页按钮后触发onCreate()因为您在onPause()中调用finish()
时正在销毁您的应用。它必须在销毁后再次创建。我也相信这会导致您的Toasts意外行为,因为您已经破坏了它的上下文。