android - 在 Ice Cream Sandwich 和果冻 bean 中阻止主页按钮

标签 android home-button

我正在开发锁屏,我想在 Ice Cream Sandwich 和果冻 bean 中禁用主页按钮,我可以在 android 2.2、2.3 中使用以下方法阻止它

  @Override
public void onAttachedToWindow() {
    // TODO Auto-generate method stub
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

也试过了

   getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

这里我也没有通过 onPause 方法或 onKeyDown 获取事件信息

但是这些方法对我在ICS中不起作用,Jelly bean如果有任何方法可以替代它,请告诉我

最佳答案

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

另外,不让用户离开应用程序并不是一个很好的做法。但是,由于您正在制作一个锁屏应用程序,您可以做的是将该 Activity 声明为 Launcher ,这样当按下 HomeButton 时,它只会重新启动您的应用程序并保持在那里(用户除了屏幕上的轻微闪烁,什么也不会注意到。

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

编辑 #2: 刚遇到 this.还没有测试过。但看起来很有前途。不确定它是否有效,但您可以尝试一下。

关于android - 在 Ice Cream Sandwich 和果冻 bean 中阻止主页按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12436190/

相关文章:

ios - 计算用户 Action

ios-simulator - iOS模拟器主页按钮双击(打开任务管理器)经常失败

ios - iPhone 识别按下主页按钮

android - 主页按钮之前的方法

android - android中的垂直画廊

java - 内存泄漏 - 初始化另一个类的位图类型实例变量

android - 为什么我的自定义字体没有应用于我的所有应用程序?

android - 使用或不使用反向地理编码来索引具有约 500,000 行的 MySQL 表?

ios - 主页按钮可将应用程序最小化

java - 安卓 : Dealing with multiple font files - Correct way