【问题标题】:how can I do something before current activity go background by Back key?在当前活动通过 Back 键进入背景之前,我该如何做某事?
【发布时间】:2010-04-12 07:07:49
【问题描述】:

按下返回键时,当前活动进入后台。 我想显示一个弹出窗口并让用户选择真正关闭此活动, 在当前活动进入背景之前。 我试图覆盖 onPause(),但它是在活动返回后调用的。

请有人解释我该怎么做?

【问题讨论】:

    标签: android


    【解决方案1】:

    你可以重写Activity的onKeyDown方法:

    public boolean onKeyDown(int keyCode, KeyEvent event) {
            if(keyCode == KeyEvent.KEYCODE_BACK){
                //Show the dialog and get the response
            }
    
    //Do a if here with your variable returned from the dialog      
    return super.onKeyDown(keyCode, event);
        }
    

    【讨论】:

    • 谢谢,这正是我想要的。
    【解决方案2】:

    您是否尝试覆盖 onPause() ?

    就我而言,当我点击返回按钮时,它首先调用 onPause(),然后再调用 onStop()。

    有一个很好的视频解释了应用程序生命周期过程:

    http://blip.tv/file/958450/

    【讨论】:

    • 感谢重播。是的,我尝试过 onPause(),但失败了。我必须展示一种模态对话框,但我不知道该怎么做。
    • 如果没有,你有一个方法 onBackPressed() 可以让你在按下后退按钮时做任何你想做的事情。所以你重载这个函数并在里面实现你的模态对话框。
    • 实际上,我只想挂钩一个后退键,这会使活动进入背景()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多