【问题标题】:override Home key in android ICS覆盖android ICS中的Home键
【发布时间】:2012-10-19 20:24:15
【问题描述】:

我需要在我的应用程序中覆盖 HOME 键。我使用了来自 this post 的代码,但它不适用于 android 4.X。您知道完成此任务的其他解决方法吗?我在本机电话应用程序(在 android 2.2 上)中看了一点,但我找不到覆盖 HOME 按钮的代码在哪里,但我在所有项目中搜索了文本“TYPE_KEYGUARD”,而我的 ide 不能找到任何东西,这让我觉得还有另一种方法可以抑制 HOME 键。有什么想法吗?

【问题讨论】:

  • 听起来可能只会产生安全问题
  • 也许可以,但手机的原生应用正在这样做......我想知道如何

标签: android home-button


【解决方案1】:

在 ICS 即 Android 4+ 之后,出于安全原因,已删除 HomeButton 的覆盖,以便在应用程序被证明是恶意软件时允许用户退出。

另外,不让用户离开应用程序并不是一个很好的做法。但是,如果您的应用程序需要,您可以将 Activity 声明为 Launcher ,这样当按下 HomeButton 时,它会简单地重新启动您的应用程序并自行保持在那里(用户不会注意到但屏幕会轻微闪烁)。

编辑#1:这里是another workaround,更适合您的需求。

EDIT #2 : 刚刚遇到this. 没有测试过。但看起来有点前途无量。不确定它是否会起作用,但你可以尝试一下。

【讨论】:

  • 我正在开发一个 VOIP 应用程序,并且在来电屏幕上,这个应用程序需要表现得像原生应用程序(忽略返回、home 键)。
  • 那么用户将如何退出您的应用程序?你不能真的强迫用户留在你的应用程序中。
  • 如果用户接听或拒接电话,或者语音信箱进入后,应用会再次表现“正常”
  • 我猜你只是将它声明为启动器。
  • 这可能是一个解决方案,但它会使代码和流程复杂化......我想知道是否有直接的方法来实现这个,但我发现没有......谢谢...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多