在Android上恢复后设置窗口全屏显示
我知道,我知道,这是我不应该做的事。。。但我还是这么做了,因为我的应用程序是为蹒跚学步的孩子设计的,我需要阻止访问home key 正如我在这里发现的那样,要阻止home按钮,我只需执行以下操作:在Android上恢复后设置窗口全屏显示,android,button,fullscreen,Android,Button,Fullscreen,我知道,我知道,这是我不应该做的事。。。但我还是这么做了,因为我的应用程序是为蹒跚学步的孩子设计的,我需要阻止访问home key 正如我在这里发现的那样,要阻止home按钮,我只需执行以下操作: @Override public void onAttachedToWindow() { super.onAttachedToWindow(); this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIAL
@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消息,如前所述,应用程序无响应,不允许全屏应用程序。所以我决定保留主页按钮,因为它是默认启用的。如果谷歌能提供禁用按钮的可能性,那就太好了。。。即使他们需要特别许可