[英]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.