Что означает этот 4-строчный Java-код в приложении для Android?

В моем Java-приложении у меня есть этот код

@Override
public void onAttachedToWindow()
  {
  this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
  super.onAttachedToWindow();
  }

когда я построю это дляandroid 2.3 (level 10)  он компилируется и работает нормально. Но когда я строю это дляandroid 4.0 (level 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);

так что я не понимаю, почему это счастье и что означает этот код?

Edit : некоторые ссылки здесь

когда я запускаю приложение на своем телефоне. Версия Android 4.0.3

безопасное приложение для малышей на андроид

Ответы на вопрос(3)

Ваш ответ на вопрос