0

每当按下主页按钮时,都会调用 onPause,但是我已将 onPause 设置为在打开对话框时处理暂停绘图线程。这意味着当您按下主页按钮时,它会暂停绘图线程并保持当前活动打开,但是我想关闭活动/应用程序。如何阻止主页按钮调用 onPause 并使其完成活动?

编辑:我刚刚意识到该应用程序不再可见,因此应该调用 onStop() ,但事实并非如此。这可能是什么原因造成的?

4

4 回答 4

1

覆盖onUserLeaveHint()并相应地完成/终止您的活动/流程。

例如,

@Override
public void onUserLeaveHint() {
    finish();
    super.onUserLeaveHint();
}

更新

创建一个本地布尔变量来跟踪显示对话框的按钮单击。用户单击按钮后立即将其设置为 true;在所有其他情况下(在onResume(),一旦开始绘制线程,从对话框返回后等)保持它为假。onPause()仅当该变量为真时才暂停绘图线程。

于 2013-06-26T10:29:51.400 回答
0

您实际上可以覆盖onPause()finish()从那里调用。

但是,不要那样做。用户期望一种共同的行为,如果您覆盖用户期望与您的应用程序交互的方式,他们会感到困惑。

于 2013-06-26T10:08:23.213 回答
0

真的会崩溃吗?然后你应该发布显示崩溃的 LogCat。

也许您没有调用super.onPause()覆盖的onPause()方法?这是强制性的,如果您忘记了它,应用程序会崩溃——在异常中明确告诉您您没有调用super.onPause().

于 2013-06-26T10:30:45.810 回答
-1
   @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
    }


 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
           android.os.Process.killProcess(android.os.Process.myPid());
        }
    });
于 2013-06-26T10:09:44.827 回答