【问题标题】:Homebutton overwritten, but still finishing when optionmenu is open主页按钮被覆盖,但在选项菜单打开时仍然完成
【发布时间】:2012-04-19 16:19:59
【问题描述】:

我已经覆盖了背部和home键的功能,防止用户把手机当手机使用。我们正在向客户(学生)提供电话,我们不希望他们以某种模式滥用电话。

问题是,HOME 按钮被禁用,但是当我第一次打开选项菜单然后不选择选项,而是按 HOME 按钮时,HOME 仍然正常工作。

无论如何要覆盖它并使用布尔值,有时是,有时不是..

我现在得到的是:

@Override
public void onBackPressed() {    
     if (buttonslocked) {
           //backbutton blocked!
        } else {
           super.onBackPressed();
        }
    }

@Override
public void onAttachedToWindow()
{  //HOMEBUTTON
    if(buttonslocked)
    {   
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
          super.onAttachedToWindow();
    }
    else
    {
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION); 
        super.onAttachedToWindow();
    }
}

【问题讨论】:

    标签: android back-button homescreen overwrite


    【解决方案1】:

    您不能覆盖主页按钮功能。

    澄清一下,虽然您可能会看到一些可能提供您正在寻找的东西的 hack。不支持也不鼓励这样做!

    【讨论】:

    • @LarsDiego:特别是,问题中概述的技术不适用于 Android 4.0。如果您想控制 HOME 按钮,请成为主屏幕。而且,为了防止人们返回到常规主屏幕,请构建您自己的固件,将您的主屏幕作为唯一主屏幕并将其安装在相关设备上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多