1

我有两个在平板电脑上协同工作的应用程序。我注意到如果用户退出一个应用程序并且下次打开应用程序时调用 oncreate,但是如果他们回到家然后返回 oncreate 不会被调用。我还注意到 onPause、onStop、onResume 永远不会被调用..如果用户回家,我需要一些方法来确保应用程序完成..

@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();

或者另一种选择是我的其他应用程序是否可以检查该应用程序是否打开并关闭它..

请帮忙

4

2 回答 2

5

主页按钮不会杀死应用程序,它应该在点击时调用 onPause() 并在之后返回应用程序时调用 onResume()。不使用 toast,为什么不打印到日志?我确信这些方法正在被解雇。可能只是 Toast 没有显示,因为在修改 UI 之前或之后调用了这些方法。

另外,我从经验中注意到的一些似乎有点奇怪的事情:即使您启动应用程序的新实例(按主页按钮后不回来),onResume() 也会被触发......我很确定 onResume () 每当您的活动进入前台时都会触发,无论它是否已经在后台运行。

于 2012-04-20T19:02:00.680 回答
1

您的应用程序在按下主页按钮后触发 onCreate(),因为您在调用finish()onPause() 时正在销毁您的应用程序。它必须在被销毁后重新创建。我也相信这会导致你的 Toast 出现意外行为,因为你已经破坏了它的上下文。

于 2012-04-20T19:12:22.993 回答