Android中的主页按钮覆盖

时间:2014-03-10 11:00:14

标签: java android lockscreen

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

过去3天我一直在研究如何做到这一点,我发现的所有解决方案都不是100%有效(主要是由于HOME的性质)。

我已经在这三天内为所有解决方案实施了解决方案,但我仍然不满意。

问题:

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

Link to WidgetLocker App

声明

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

解决方案

  • 实现作为Home启动程序,捕获HOME意图并处理主页按钮按下,这就存在用户必须选择应用程序作为默认主启动器的问题,可能无法理解原因(我知道另一个问题,但仍然)
  • 使用每次锁定设备时启动的SYSTEM_OVERLAY视图实现服务,有效地处于一切之上,不幸的是(或幸运的是安全性)按下主页按钮仍然被发送到下面的应用程序和默认主页发射器仍然被召唤。
  • 实现与实现锁定屏幕的活动平行的活动,其中包含以我的应用程序选项以编程方式激活/停用的HOME Intent,有效地将主应用程序按需更改为主要应用程序,此活动被调用启动锁屏活动。

还有其他办法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在以下主题中查找覆盖主页按钮的方法: Overriding the functionality of Home Button

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

对于后一种实现,只需在清单

中安装以下行
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />

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