¿Qué significa este código Java de 4 líneas en la aplicación de Android?
En mi aplicación java tengo este código
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
cuando lo construyo paraAndroid 2.3 (nivel 10) se compila y funciona bien. Pero cuando lo construyo paraAndroid 4.0 (nivel 15) se compila y me da una caída en el tiempo de ejecución y error de seguimiento
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.
Cuando comento esta línea y la compilación funciona bien y no hay problema ...
//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
¿Entonces no entiendo por qué esto está pasando y qué significa este código?
Editar: algunas referencias están aquí
Cuando ejecuto la aplicación en mi teléfono. La versión es Android 4.0.3