首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >onPause、onResume、onStop、onStart等,而不是触发生命周期?

onPause、onResume、onStop、onStart等,而不是触发生命周期?
EN

Stack Overflow用户
提问于 2012-04-21 02:59:24
回答 2查看 3.2K关注 0票数 1

我有两个在平板电脑上协同工作的应用程序。我注意到,如果用户退出一个应用程序,下一次打开该应用程序时,oncreate将被调用,但如果他们命中主页然后返回,则oncreate将不会被调用。我还注意到onPause、onStop、onResume从未被调用过。我需要一些如何确保应用程序完成,如果用户回家..

代码语言:javascript
运行
复制
@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();

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

请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2012-04-21 03:02:01

主页按钮不会终止应用程序,它应该在点击时调用onPause(),并在之后返回应用程序时调用onResume()。为什么不使用toast,而不是打印到日志?我确信这些方法正在被触发。可能是Toast没有出现,因为这些方法是在修改UI之前或之后调用的。

此外,我从经验中注意到了一些似乎有点奇怪的事情: onResume()即使当你启动应用程序的新实例时也会触发(在点击主页按钮后不会返回)……我非常确定只要你的activity在前台运行,onResume()就会被触发,不管它是否已经在后台运行。

票数 5
EN

Stack Overflow用户

发布于 2012-04-21 03:12:23

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10251992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档