我在活动中覆盖方法 onKeyDown 。但只有在按下后退按钮时才会调用它。按下主页按钮时不会调用它。我在Nexus 5测试这个。这是什么原因?
答案 0 :(得分:1)
我担心在传统意义上这是无法做到的。想象一下,如果开发人员可以覆盖主页按钮,最终用户可能/将会遇到的问题?人们可以使用它来阻止用户退出他们的应用程序。这是一个很大的不行!
但是......如果你没有做任何险恶的事情,那么有一些方法可以拦截主页按钮被按下的假设。例如:
按下主页按钮后,操作系统将触发onStop
。因此,考虑到这一点,您可以覆盖该方法,如下所示:
@Override
protected void onStop()
{
super.onStop();
// Add your HOME button press logic here
}
在使用“假定”的任何内容时要记住的事项。按下主页按钮:
Activity
时,您将收到此触发器。我想这可以归结为你找出你为什么需要拦截主页按钮按下,如果有任何其他方法你可以使用。
长话短说:
不能,您无法正式拦截主页按钮。
你可以假设,但是面对随机触发也调用onStop()
寻找其他选项并完全忽略主页按钮。没有人需要拦截它。
希望这有帮助!