java - android中的主页按钮覆盖

标签 java android lockscreen

我试图了解在 Android 中覆盖主页按钮功能的方法。 我正在执行锁屏应用程序,HOME 按钮正在解锁设备。

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

这三天我已经实现了以下所有解决方案,但我仍然不满意。

问题:

我希望能够像 AppStore 中的 WidgetLocker 应用程序一样覆盖主页按钮功能。 WidgetLocker 不是主页启动器,它仍然可以比任何人更好地覆盖主页。

Link to WidgetLocker App

免责声明

  • 首先,我知道这是 Android 中的一项安全措施,因此应用程序不会完全控制设备,我同意这一点。
  • 官方方法是实现家庭启动器,这是我最喜欢的方法,不幸的是,在我穷尽所有其他可能性之前,我的老板仍然不能 100% 相信我选择的路径。
  • 必须是4.0+版本的android

解决方案

  • 作为主页启动器实现,捕捉主页 Intent 并处理主页按钮按下,这有一个问题,即用户必须选择应用程序作为默认主页启动器,并且可能不明白为什么(我知道的另一个问题,但仍然)
  • 使用每次设备锁定时启动的 SYSTEM_OVERLAY View 实现服务,有效地控制一切,不幸的是(或幸运的是安全方面)主页按钮按下仍被发送到下面的应用程序和默认主页发射器仍然被调用。
  • 实现与实现锁定屏幕的 Activity 平行的 Activity ,其中包含在“我的应用程序”选项中以编程方式激活/停用的 HOME Intent,当调用此 Activity 时,按需有效地将主应用程序更改为家庭启动器启动锁屏 Activity 。

还有其他方法吗?

提前致谢。

最佳答案

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

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

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

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />

现在,当您下次按下主页按钮时,会弹出一个窗口询问您要做什么。

关于java - android中的主页按钮覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22298322/

相关文章:

没有地磁的Android设备方向

windows - 如何解锁 Windows 锁屏?

android - 如何处理 android Activity 的锁屏按钮输入?

python - 为 Linux 编写锁屏?

java - 如何在Java中的另一个类中使用一个类中的变量

java - Jbutton监听器没有被触发,为什么?

java - 在 Grails 中使用 Java 类(具有 Spring/Hibernate 依赖项的整个模块)

Java RegEx 模式花费太多时间

android - AccelerationSensor.accelerationchanged()使应用变慢

Android:listview 项目问题?