【发布时间】:2014-10-16 11:07:44
【问题描述】:
我在活动中覆盖方法 onKeyDown。但只有在按下后退按钮时才会调用它。按下主页按钮时不会调用它。我在 Nexus 5 上对此进行测试。这是什么原因?
【问题讨论】:
标签: android
我在活动中覆盖方法 onKeyDown。但只有在按下后退按钮时才会调用它。按下主页按钮时不会调用它。我在 Nexus 5 上对此进行测试。这是什么原因?
【问题讨论】:
标签: android
恐怕这在传统意义上是做不到的。想象一下,如果开发人员可以覆盖主页按钮,最终用户可能/将会遇到的问题?人们可以使用它来阻止用户退出他们的应用程序。这是一个很大的不!
但是...如果您没有做任何险恶的事情,那么您可以通过多种方式截获主页按钮已被按下的假设。例如:
按下主页按钮时,操作系统将触发onStop。因此,考虑到这一点,您可以覆盖该方法,如下所示:
@Override
protected void onStop()
{
super.onStop();
// Add your HOME button press logic here
}
在使用任何“假定”主页按钮被按下时要记住的事情:
Activity 时,您将收到此触发器。我想这取决于您弄清楚为什么需要拦截主页按钮的按下,以及是否有任何其他方法可以使用。
长话短说:
不,你不能正式拦截主页按钮。
您可以假设,但会遇到随机触发器也调用 onStop()
寻找其他选项并完全忽略主页按钮。没有人需要拦截它。
希望这会有所帮助!
【讨论】: