AndroidRuntimeException: requestFeature () debe ser llamado antes de agregar contenido exclusivo a Honeycomb 3.1 – 3.2.1
Después de la última actualización, mi aplicación tiene el siguiente problema:
java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package/my.package.MyMainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1818) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834) at android.app.ActivityThread.access$500(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:132) at android.app.ActivityThread.main(ActivityThread.java:4126) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:491) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method) Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:214) at android.support.v7.app.ActionBarActivityDelegateHC.onCreate(ActionBarActivityDelegateHC.java:38) at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) at my.package.MyBaseActivity.onCreate(MyBaseActivity.java:68) at my.package.MyApiServiceActivity.onCreate(MyApiServiceActivity.java:51) at my.package.MyActivity.onCreate(MyActivity.java:88) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782) ... 11 more
Sin embargo, nunca llamo requestWindowFeature
o similar. No hay diálogos involucrados tampoco. El informe en sí viene de BugSense, yo nunca tuve este problema yo mismo. Es una aplicación bastante popular y el problema es exclusivo de Android Honeycomb : 3.2, 3.2.1 y 3.1. No sucedió en la versión anterior de la aplicación. El único cambio en la función onCreate
desde la actualización es el hecho de que ActionBarSherlock
de ActionBarSherlock
a ActionBarCompat
.
- Utilice la pestaña con la nueva barra de herramientas (AppCompat v7-21)
- Cómo agregar barra de acción personalizada con el cajón de navegación?
- prefijo de espacio de nombres inesperado con barra de acción
- ActionBarCompat con Theme.AppCompat.Light.DarkActionBar muestra el texto del título blanco pero el texto del hilador negro
- Cómo cambiar el estilo y el color de la pestaña mediante la biblioteca AppCompat
¿Alguien ha visto este problema también y / o tiene alguna idea de cómo superar el problema?
EDIT: Estoy agregando el enlace a la fuente para ActionBarActivityDelegateHC
desde el paquete v7 donde se inicia la traza de la pila de bloqueo (causada por …). Allí la llamada requestFeature sucede, pero se llama correctamente, incluso antes de super.onCreate
.
Utilizo Gradle para importar el paquete: compile 'com.android.support:appcompat-v7:18.0.+'
- Problema con ActionBarActivityDelegate class ... app no se ejecuta
- Errores después de construir apk
- Tipo de carga útil no válido Android
- No se puede obtener la vista de acción para ActionBar MenuItem mediante la biblioteca de soporte
- La vista personalizada de Android ActionBar no rellena el padre
- SearchView on support.v7.appcompat problema de la biblioteca: el fondo de 9 parches predeterminado no se procesa correctamente
- Cómo utilizar Contextual Actionbar (CAB) con support.v7.widget.Toolbar y Listview?
- NullPointerException al llamar a getSupportActionBar () desde dentro de Fragment (ActionBarCompat)
Así que parece una solución de @shomeser (comentarios a la pregunta) es una manera de ir por el momento.
Hay dos maneras de comprometerse:
- Si no tiene diseños diferentes para el paisaje y el retrato, puede desactivar los cambios de orientación (en AndroidManifest:
android:configChanges="screenSize|orientation"
) - Si tiene alguna manipulación en el cambio de orientación y no puede utilizar "configChanges", puede bloquear la orientación (en
onCreate
)
If (Build.VERSION.SDK_INT> = Build.VERSION_CODES.HONEYCOMB || Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR2) { This.setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }
- Y finalmente mi favorito menos (publicar esto para la terminación sin embargo), gota ABC y volver a ABS.
También publiqué un boleto en Android Issue Tracker , pero al ser un tema de Honeycomb, no espero obtener una respuesta.
ACTUALIZACIÓN: Después de liberar la aplicación con la orientación bloqueada para dispositivos específicos de Honeycomb, sigo viendo este fallo informado, aunque menos frecuente.
UPDATE 2: Problema fue solucionado! Ahora solo espera el lanzamiento de la nueva lib de soporte: google issue tracker
- ¿Es programáticamente posible que Google rastree la URL de referencia de una URL de Google Maps en un navegador móvil que abra una aplicación nativa?
- ¿Cómo la CPU y la memoria intensiva es el desarrollo de Android?