Что означает этот 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