这4行java代码在Android应用程序中意味着什么?

Jee*_*tel 5 java android android-emulator android-windowmanager

在我的java应用程序中,我有这个代码

@Override
public void onAttachedToWindow()
  {
  this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
  super.onAttachedToWindow();
  }
Run Code Online (Sandbox Code Playgroud)

当我为Android 2.3(10级)构建它时, 它编译并正常工作.但是,当我为Android 4.0(15级)构建它时,它编译并在运行时和崩溃后让我崩溃

07-16 14:00:03.090: E/AndroidRuntime(29487): FATAL EXCEPTION: main
07-16 14:00:03.090: E/AndroidRuntime(29487): java.lang.IllegalArgumentException: Window type can not be changed after the window is added.
Run Code Online (Sandbox Code Playgroud)

当我评论这一行,并建立它工作正常,没有问题..

//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
Run Code Online (Sandbox Code Playgroud)

所以我不明白为什么这个代码意味着什么?

编辑: 这里有一些参考

当我在手机上运行应用程序时.版本是android 4.0.3

在安卓上的小孩安全app

Jee*_*tel 9

@Override
public void onAttachedToWindow()
  {
  this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
  super.onAttachedToWindow();
  }
Run Code Online (Sandbox Code Playgroud)

用于在Android中禁用主页按钮但是

这个安全漏洞已在较新版本的Android中得到修复,因此它不适用于ICS和果冻豆...... !!