在冰淇淋三明治果冻豆块主页按钮(block Home Button in Ice cream san

2019-06-18 04:21发布

我正在开发锁定画面,我想在冰淇淋三明治和果冻豆禁用主页按钮,我可以在Android 2.2的使用下面的方法阻止它,2.3

  @Override
public void onAttachedToWindow() {
    // TODO Auto-generate method stub
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

也试过这种

   getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

在这里我也没有通过获取事件信息onPause方法或onKeyDown

但是,这些方法在done't ICS,果冻豆对我的工作,如果有,可以取代然后让我知道的任何方法

Answer 1:

帖子ICS即Android 4以上时,为homeButton的首要已出于安全原因去除,以使在对申请原来是一个恶意软件的用户出口。

另外,它是不是一个很好的做法,不是让用户导航离开应用程序。 但是,因为你是一个锁屏的应用程序,你可以做的就是声明的活动作为一个发射器 ,这样当按下为homeButton它会简单地重新启动应用程序,并保持有本身(用户会发现什么,但轻微的闪烁在屏幕)。

编辑#1:这里是另一种解决办法 ,更适合您的需求。

编辑#2:跨刚来到这。 没有测试它。 但看起来有点前途。 不知道这是否会工作,但你可以试试看。



Answer 2:

有几件事情,你可以尝试:

  • 您可以将您的活动单顶,并有明确的顶部标志开始过来时onPause()方法被调用,这将阻止home键开放等活动。

  • 听BOOT_COMPLETED广播开始你的活动 - 这将保护你从谁将会把电池从设备中,以重新启动它的用户。

  • 添加Alarmmanager ,这将考验每一秒,如果你的应用程序是活的,如果它不是,那么启动它-这将保护你从userers一些如何设法关闭您的应用程序(可能是外部工具)。

做到这一点, 没有人能够退出你的应用程序。



Answer 3:

我认为这是不可能检测到和/或从一个Android应用程序内截取HOME按钮。 这是内置到系统中,以防止无法退出恶意的应用程序。



文章来源: block Home Button in Ice cream sandwich and jelly bean