Android ON暂停和返回按钮
我经常暂停活动,效果很好。这是密码Android ON暂停和返回按钮,android,Android,我经常暂停活动,效果很好。这是密码 @Override protected void onPause() { super.onPause(); Intent intent; intent = new Intent(Games.this, PauseScreen.class); startActivity(intent); } 但我有个问题。当我按下后退按钮时,Pause正在呼叫并开始新的活动。我希望onPause始终工作,除非我在手机上单击“上一步”按钮。我
@Override
protected void onPause() {
super.onPause();
Intent intent;
intent = new Intent(Games.this, PauseScreen.class);
startActivity(intent);
}
但我有个问题。当我按下后退按钮时,Pause正在呼叫并开始新的活动。我希望onPause始终工作,除非我在手机上单击“上一步”按钮。我怎么能做到?我认为这可能是
如果(backbutton被单击){onPause不工作}或者{onPause工作}
但是我不知道如何实现这个解决方案。或者你有更好的主意?实现以下方法-
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Do something (OR NOTHING)
}
return true;
}
请记住返回true
,因为这意味着您已经在按back键时进行了处理,系统不需要处理它
这是
onBackPressed()
的一个很好的替代品,它可能对您有效,也可能对您无效。实现以下方法-
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Do something (OR NOTHING)
}
return true;
}
请记住返回true
,因为这意味着您已经在按back键时进行了处理,系统不需要处理它
这是一个很好的替代
onBackPressed()
,它可能对您有效,也可能对您无效。尝试覆盖onBackPressed()
在其中设置一个标志,并在onPause()中检查该标志。
(虽然从onPause开始另一个活动很奇怪,但也许你有很好的理由这么做,但我想不出这种情况…尝试覆盖
onBackPressed()
在其中设置一个标志,并在onPause()中检查该标志。
(从onPause开始另一项活动是很奇怪的,但也许你有充分的理由这么做,但我想不出这样的场景…@user1302569
以下是您可以在应用程序中实现所需行为的步骤
步骤1:在活动中覆盖此back Key方法
@Override
public void onBackPressed() {
//Here you get Back Key Press So make boolean false
no_back_key=false;
super.onBackPressed();
}
步骤2:在Activity类中获取一个如下所示的布尔变量
public boolean no_back_key=true;
步骤3:在OnPause方法中,执行以下操作
@Override
protected void onPause() {
super.onPause();
Intent intent;
//Only this boolean will become false when we get Back Key Press as you Said in Your Question
if(no_back_key){
intent = new Intent(Games.this, PauseScreen.class);
startActivity(intent);
}
第四步:在你的活动简历中,也要确保这一点
@Override
protected void onResume() {
no_back_key=true;
super.onResume();
}
}
关于Android中的Back Key事件,在开发者网站中,您可以参考以下内容
以下是您可以在应用程序中实现所需行为的步骤
步骤1:在活动中覆盖此back Key方法
@Override
public void onBackPressed() {
//Here you get Back Key Press So make boolean false
no_back_key=false;
super.onBackPressed();
}
步骤2:在Activity类中获取一个如下所示的布尔变量
public boolean no_back_key=true;
步骤3:在OnPause方法中,执行以下操作
@Override
protected void onPause() {
super.onPause();
Intent intent;
//Only this boolean will become false when we get Back Key Press as you Said in Your Question
if(no_back_key){
intent = new Intent(Games.this, PauseScreen.class);
startActivity(intent);
}
第四步:在你的活动简历中,也要确保这一点
@Override
protected void onResume() {
no_back_key=true;
super.onResume();
}
}
关于Android中的Back Key事件,在开发者网站中,您可以参考此非常感谢。这是一个很好的解决方案。非常感谢。这是一个很好的解决方案。