Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上恢复后设置窗口全屏显示_Android_Button_Fullscreen - Fatal编程技术网

在Android上恢复后设置窗口全屏显示

在Android上恢复后设置窗口全屏显示,android,button,fullscreen,Android,Button,Fullscreen,我知道,我知道,这是我不应该做的事。。。但我还是这么做了,因为我的应用程序是为蹒跚学步的孩子设计的,我需要阻止访问home key 正如我在这里发现的那样,要阻止home按钮,我只需执行以下操作: @Override public void onAttachedToWindow() { super.onAttachedToWindow(); this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIAL

我知道,我知道,这是我不应该做的事。。。但我还是这么做了,因为我的应用程序是为蹒跚学步的孩子设计的,我需要阻止访问home key

正如我在这里发现的那样,要阻止home按钮,我只需执行以下操作:

@Override
public void onAttachedToWindow()
{
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);   
}
这样做的主要缺点是状态栏是可见的,即使在清单文件中,我也将其设置为全屏

 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
一个解决方案是在代码中设置全屏模式,我就是这么做的

@Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
到目前为止,该应用程序一直在全屏运行。一个主要问题是,如果用户按下电源按钮,手机进入待机状态。再次按下并解锁屏幕时,应用程序将再次显示状态栏。我无法再次设置窗口参数,因为它已包含内容。此外,我想禁用电源按钮,但我不知道如何禁用。我可以截获它被按下
onKeyDown
,但是我应该如何使它不做任何事情呢

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

           switch (keyCode) {

                case KeyEvent.KEYCODE_POWER:
                    ????????

                default:
                    return false;
                }
        }

对这些问题有什么想法吗?谢谢大家。

事实上,在做了一点深入的测试之后,设置

this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); 
产生不需要的行为,如:没有Toast消息,如前所述,应用程序无响应,不允许全屏应用程序。所以我决定保留主页按钮,因为它是默认启用的。如果谷歌能提供禁用按钮的可能性,那就太好了。。。即使他们需要特别许可