当用户在应用程序中间按下主页按钮时,我想要终止我的应用程序。
还有一个人找我使用onUserLeaveHint()
方法。在我的appilcation中我应该在哪里使用这个方法?
答案 0 :(得分:2)
在较旧的Android版本上,这是有效的。但Android更改了这一点,因为“主页按钮应该保留主页按钮”,并且他们不希望任何人覆盖主页按钮。由于这个原因,你的代码将无法正常工作。
也许你可以实现这个:
@Override
protected void onStop() {
super.onStop();
finish();
}
但我打赌你不想这样做,因为每当你的应用程序转到后台时调用onStop()
(例如当你的应用程序在前台时有来电)那将{ {1}}目前 的当前finish
。
你可能想看看
答案 1 :(得分:2)
您可以尝试覆盖onPause()按钮,如下所示:
@Override
public void onPause() {
super.onPause();
this.finish();
}
请注意,Android是专门设计用来阻止主页按钮查杀该应用。
答案 2 :(得分:1)
“主页”按钮是一个非常危险的按钮,因此,Android不会让您以与执行“返回”按钮相同的方式覆盖其行为。 因此,如果没有用户确认,您无法永久覆盖主页按钮(这是出于安全问题) 所以即使使用:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.d("Test", "Home button pressed!");
}
return super.onKeyDown(keyCode, event);
}
它不起作用,因为KeyEvent.KEYCODE_HOME总是由系统处理,永远不会发送到应用程序。