当前位置: 首页 > 知识库问答 >
问题:

如何覆盖Home键功能

林亦
2023-03-14

我正在开发一个模式锁定应用程序。
问题是,当手机屏幕关闭时,我的锁定活动显示为解锁,但当我按下移动主页键时,它就工作了。

在进入解锁模式之前,我想覆盖home key功能(因为它不工作)。

 @Override
  public boolean onKeyDown(int keyCode, android.view.KeyEvent event) {

        if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)||(keyCode == KeyEvent.KEYCODE_POWER)||(keyCode == KeyEvent.KEYCODE_VOLUME_UP)||(keyCode == KeyEvent.KEYCODE_CAMERA)) {

            return true; 
        }
       if((keyCode == KeyEvent.KEYCODE_HOME)){

           return true;
        }

    return false;

    }

    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_POWER ||(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN)||(event.getKeyCode() == KeyEvent.KEYCODE_POWER)) {
            //Intent i = new Intent(this, NewActivity.class);
            //startActivity(i);
            return false;
        }
         if((event.getKeyCode() == KeyEvent.KEYCODE_HOME)){


           return true;
         }
    return false;
    }

我谷歌了一下,但没有得到任何解决方案。
请帮帮我。

共有1个答案

贾沛
2023-03-14

无法覆盖Home键。也无法检查Home键按下事件。你唯一的可能就是,编写自己的主页或启动器活动。为此,请执行您的活动,并在清单中按如下方式注册:

<activity
    android:name=".MyNewHomeActivity"
    android:launchMode="singleInstance">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

完成此操作后,您可以在onCreative()onResume()中决定要做什么。请注意,这要求您的应用/活动是默认启动程序。

 类似资料:
  • 问题内容: 我正在尝试Backbone.js,而我正在尝试的事情之一就是调用远程API,因此,据我了解的文档资料,我需要能够覆盖Backbone.sync 。 在文档本身中没有如何执行此操作的示例,并且似乎没有用于Backbone的google组…有人可以指出执行此操作的示例吗? 问题答案: 看看这个带注释的源示例,在该示例中,它们被本地存储替代项覆盖 基本上,Backbone.sync应该是一个

  • 问题内容: 我知道python函数默认是虚拟的。假设我有这个: 我不希望他们能够这样做: 有没有办法防止用户重载roo()? 问题答案: 您可以使用元类: 每当创建子类时,就会调用该元类型的 new 。如果您在场,这将导致错误。仅当没有基类时,它才会接受roo的定义。 您可以通过使用注释来声明哪些方法是最终方法,从而使该方法更加理想。然后,您需要检查所有基准并计算所有最终方法,以查看是否有任何基准

  • 问题内容: 我创建了一个自定义样式表,该样式表将覆盖Wordpress模板的原始CSS。但是,在我的日历页面上,原始CSS具有声明的每个表格单元格的高度: 有什么办法可以覆盖这个吗? 问题答案: 覆盖!important修饰符 只需使用添加另一个CSS规则,并赋予选择器更高的特异性(向选择器添加其他标签,id或类) 在比现有选择器晚的位置添加具有相同选择器的CSS规则(平局中,最后一个定义的获胜者

  • 问题内容: 我的模型有很多布尔字段。我将它们分为3组,将其渲染为。 现在,我需要将此数据保存回数据库。即,我需要将单个小部件返回的数据拆分为多个布尔列。我认为这适合该方法,不是吗? 问题是,我该怎么做?像这样吗 如果是这样,如何设置值? 或者其他的东西?所有数据都存储在哪里? 问题答案: 你要存储数据的位置是新模型实例:

  • 问题内容: 我试图覆盖jQuery 函数以处理对成功事件的默认操作,但还要执行我在参数中使用的回调函数。目的是在响应中返回标签,而我一直想从响应中删除这些标签以在其他地方使用。 该方案是: Ajax提交 阿贾克斯成功 -默认成功动作 -呼叫Ajax成功回调 有人可以帮忙吗?我尝试扩展 我的代码是: 问题答案: 有全局回调: 每当Ajax请求成功完成时,jQuery都会触发该事件。此时已执行已向该方

  • 问题内容: 我进行如下课程: 我希望切片功能在MyList中被覆盖 问题答案: 您需要提供自定义的,和挂钩。 切片列表时,将这些切片对象传递给切片对象。这些有,和属性。但是,这些值可以是,以指示默认值。请注意,当您使用负步幅时,默认值实际上会改变! 但是,它们也有一种方法,当给定长度时会生成适合对象的值的元组。此方法会处理令人讨厌的细节,例如以负的步幅进行切片,并且没有开始或停止索引: 或者,对于