在我的 java 应用程序中,我有这个代码
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
当我为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.
当我评论这条线并构建它时,它工作正常,没有问题..
//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
所以我不明白为什么会发生这种情况以及这段代码是什么意思?
编辑: 这里有一些参考