【发布时间】:2013-10-09 12:17:45
【问题描述】:
我尝试了以下方法来覆盖 HOME 按钮:-
-
通过使用 KeyDown 方法。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.e("Pressed", "" + keyCode); if (keyCode == KeyEvent.KEYCODE_HOME) { Log.e("HOME_PRESSED", "Ignoring HOME Button."); return true; } else if (keyCode == KeyEvent.KEYCODE_BACK) { Log.e("BACK_PRESSED", "Ignore back pressing."); return true; } return super.onKeyDown(keyCode, event); } -
通过使用 NewIntent 方法。
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if (intent.getAction().equalsIgnoreCase(Intent.ACTION_MAIN)) { Log.e("MAIN_PRESSED", "Ignoring MAIN Button."); } }
但我无法覆盖 HOME 按钮按下事件。
因此,根据我的知识和日志,我发现每次按主页按钮时。
它会触发 ACT-AM_ON_PAUSE_CALLED.(不知道)
我试图用谷歌搜索这件事以了解更多信息,但没有找到相关信息!
请帮助覆盖应用程序中的 HOME 按钮。
【问题讨论】:
-
为什么?为什么您的应用程序的行为与所有其他应用程序不同,并且以用户不理解的方式?除了启动器之外,如果应用找到了覆盖主页的方法(这将利用错误),那么它不会在我的设备上停留很长时间。
-
@Simon 我认为这只是他老板的另一个愚蠢要求,我自己已经习惯了被问到愚蠢和奇怪的事情!
-
这还不可能,所以不要浪费你的时间!!!
-
感谢您的回复!实际上它是一个警报活动,它也在运行警报音并且它的事件有样式=透明。因此,如果用户单击 HOME 按钮。它会消失,但警报会运行,甚至不会显示在最近的应用程序中,因此需要覆盖它以至少销毁警报。
标签: android