繁体   English   中英

按下“主页”后杀死应用程序(停止暂停即可停止应用程序)

[英]Kill app after 'Home' is pressed (stop it from just pausing)

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

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

覆盖onUserLeaveHint()并相应地完成/杀死您的活动/过程。

例如,

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

更新

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

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

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

它实际上崩溃了吗? 然后,您应该发布显示崩溃的LogCat。

也许您没有在重写的onPause()方法中调用super.onPause() 这是强制性的,如果您忘记了它,则应用程序将崩溃-在未调用super.onPause()的情况下明确告诉您。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM