如何禁用活动中的主页按钮单击-如在锁屏应用程序中?

问题描述 投票:0回答:1

我需要开发一个锁屏应用程序。我已经设置了Foreground服务,其中包括监听Screen-Off事件的Broadcast接收器。

现在,我受困于主页按钮。我知道Google Play商店中有几个锁定屏幕应用程序,它们可以正常工作。当按下虚拟主页按钮时,表明它已被按下,但是什么也没有发生。

我已经环顾四周并尝试了一些操作:

  • 使用TYPE_KEYGUARD不起作用(不建议使用)
  • 尝试使用OnKeyDown捕获主页按钮也无济于事
  • 尝试覆盖对话框以锁定活动会导致以下错误:

无法添加窗口android.view.ViewRootImpl$W@e68931b-窗口类型为2010的权限被拒绝

(即使我在清单中设置了android.permission.SYSTEM_ALERT_WINDOW)。

  • 我还尝试过使用锁定任务(屏幕固定)。它可以工作,但是显示一条消息,按住后退和最近按钮可以禁用该锁定。

是否有办法使锁定任务只能从应用程序本身取消激活?Play商店中的锁屏应用如何锁定按下主屏幕按钮?

android android-studio lockscreen android-homebutton
1个回答
0
投票

自己弄清楚。 App Store中的Lockscreen Apps不会禁用主页按钮。他们确实使用了系统覆盖窗口,即使按下按钮也隐藏了主屏幕。由于我尝试对覆盖使用TYPE_SYSTEM_ERROR而导致错误。对于较新的API版本,TYPE_APPLICATION_OVERLAY可以使用

© www.soinside.com 2019 - 2024. All rights reserved.