修改android中锁屏的主页按钮行为

时间:2016-08-01 12:38:52

标签: android lockscreen

我正在android studio中开发一个锁屏应用程序。我知道我们无法禁用HOME按钮。但是在Play商店中有如此多的锁屏应用程序。他们是怎么做到的?当我在这些应用程序中按下主页按钮时,没有任不推荐使用类型键盘锁,也可以使用键锁。请告诉我如何让主页按钮什么都不做或者在同一个屏幕上。现在,我不想把它作为主屏幕,因为它让用户可以选择在主屏幕之间进行选择,我正在开发一个锁屏应用,所以如果这是唯一的解决方案,那么告诉我如何将我的屏幕作为主屏幕编程。请给出正确的答案。

2 个答案:

答案 0 :(得分:1)

你需要覆盖你的活动 OnKeyDown ,正如Shark所说。 简单地复制&将代码粘贴到您的活动中。

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub

        if( (keyCode==KeyEvent.KEYCODE_HOME)
        {
            // *** DO YOUR STUFF HERE ***
            return true;
        }
           else
             return super.onKeyDown(keyCode, event);
    }

它将处理点击主页按钮。

答案 1 :(得分:1)

在google上进行了大量搜索。我终于找到了解决方案。我在GitHub上找到了它。如果有人感兴趣的话。只需复制以下类:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Object of Class HomeKeyLocker.
    mHomeKeyLocker = new HomeKeyLocker();
    setContentView(R.layout.yourActivityLayoutName);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    // Calling Function in Class HomeKeyLocker to Block Home Button on this Activity.
    mHomeKeyLocker.lock(this);
}

你可能会在super(activity,R.style.AppTheme)上发现错误;这条线。您只需要提供应用主题。

然后你需要在onCreate锁定屏幕方法中创建一个Object。并调用锁定功能。 e.g:

!important