Android中的主页按钮覆盖

Tia*_*sta 5 java android lockscreen

我试图了解在Android中覆盖主页按钮功能的方法.我正在做一个LockScreen应用程序和HOME按钮正在解锁设备.

我一直在研究过去3天的方法,我发现的所有解决方案都不是100%有效(主要是由于HOME的性质).

在这三天里,我已经为下面的所有解决方案实施了解决方案,但我仍然不满意.

问题:

我希望能够像AppStore中的WidgetLocker应用程序一样覆盖HOME按钮功能.WidgetLocker不是一个家庭发射器,它仍然可以比任何人更好地覆盖HOME.

链接到WidgetLocker应用程序

放弃

  • 首先,我知道这是Android中的安全措施,因此应用程序无法完全控制设备,我同意这一点.
  • 官方的方法是实现一个家庭发射器,它是我的首选,不幸的是我的老板仍然不是100%相信我选择的路径,直到我耗尽所有其他可能性.
  • 它必须是4.0+版本的android

解决方案

  • 实现作为Home启动器,捕获HOME意图并处理主页按钮按下,这有问题,用户必须选择应用程序作为默认的主启动器,可能不明白为什么(我知道的另一个问题,但仍然)
  • 实现具有SYSTEM_OVERLAY视图的服务,该视图在每次设备被锁定时启动,有效地在所有内容之上,不幸的是(或者幸运的是安全性)按下主页按钮仍然被发送到下面的应用程序并且默认的主启动器仍然是调用.
  • 实现一个与实现锁定屏幕的活动并行的活动,其中包含以我的应用程序选项以编程方式激活/停用的HOME Intent,有效地将主应用程序按需更改为homelauncher,当调用此活动时,它会启动锁定屏幕活动.

有没有其他方法可以做到这一点?

提前致谢.

小智 0

请查看以下主题,了解覆盖主页按钮的方法: 覆盖主页按钮的功能

但就我个人而言,我建议您选择实现自己的主屏幕的选项。我们在我工作的地方使用类似的设置。当按下主页按钮时,我们希望人们使用的应用程序被设置为默认选项。这样我们就可以在很大程度上控制人们可以去哪里。此选项只能通过重置应用程序的应用程序默认值来重置。这使得它在需要修复设备时变得非永久性。

对于后一种实现,只需在清单中使用以下行进行安装

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
Run Code Online (Sandbox Code Playgroud)

现在,下次您按主页按钮时,会弹出一个窗口,询问您要执行的操作。