Co oznacza ten 4-liniowy kod Java w aplikacji na Androida?
W mojej aplikacji java mam ten kod
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
kiedy go zbudujęandroid 2.3 (poziom 10) kompiluje się i działa dobrze. Ale kiedy ją zbudujęandroid 4.0 (poziom 15) kompiluje się i powoduje awarię w czasie wykonywania oraz następujący błąd
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.
kiedy komentuję tę linię i kompilację, działa dobrze i nie ma problemu ..
//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
więc nie rozumiem, dlaczego tak się dzieje i co oznacza ten kod?
Edytować : niektóre odniesienia są tutaj
kiedy uruchamiam aplikację na moim telefonie. Wersja jest Android 4.0.3