Cuando presiono el botón de reposo en mi Droid, se llama a mi actividad oncreate. ¿Por qué está sucediendo eso? ¿Por qué el sistema operativo desea llamar a OnCreate cuando el dispositivo se va a dormir? ¿Hay alguna manera de detenerlo, o al menos saber que es porque el teléfono se puso a dormir?Actividad OnCreate llamada cuando el teléfono se va a dormir
Respuesta
Esto ocurre particularmente para actividades que están bloqueadas en rotación, p. tener esto en el manifiesto dentro de las etiquetas de actividad:
android:screenOrientation="portrait"
Al apagar la pantalla, que lee el acelerómetro para determinar la verdadera orientación y cambios a que antes de apagarse.
Así que sí, la solución simple es la adición de configChanges así, haciendo que se vea algo como esto:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape"
android:configChanges="orientation"
/>
No es necesario indicar el screenOrientation, pero si no lo hace cualquiera que sea la orientación es en el momento en que comienza es donde permanecerá, a menos que escriba código para manejar los cambios de configuración.
Como nota al margen, cuando comencé a probar mis aplicaciones en ICS tuve que manejar algunos caprichos con un ciclo crear/destruir/crear al comienzo de algunas actividades. Se necesitan algunos controles y equilibrios adicionales para hacer que el código sea universal.
¿Tiene más información sobre cómo funciona esto en ICS? Estaba experimentando este problema en dispositivos con 2.3.3 y 4.0.4. Su solución funciona en mi dispositivo 2.3.3, pero aún se llama a onCreate() después de dormir en mi 4.0.4. –
El problema podría ser que el dispositivo tiene una orientación rígida para la pantalla de bloqueo. Para probar esto, haga que su orientación bloqueada sea la opuesta (retrato probable). Eso podría hacer que el extra de onCreate desaparezca, y le dará un punto de partida para descubrir cómo tragarse el cambio de orientación irrelevante. – ProjectJourneyman
Gracias. Usted tenía razón. Encontré una solución al agregar screenSize a configChanges como este 'android: configChanges =" orientation | screenSize "'. De los documentos: "Nota: si su aplicación se dirige al nivel API 13 o superior (según lo declarado por los atributos minSdkVersion y targetSdkVersion), también debe declarar la configuración de" tamaño de pantalla ", porque también cambia cuando un dispositivo cambia entre vertical y horizontal orientaciones ". –
que tenían el mismo problema resuelto mi aplicación (juego) vuelve a cargar cada vez que vienen de sueño
aquí lo que hice para resolverlo
i añadir
<activity
android:configChanges="orientation|screenSize"
/>
esperanza de que esto ayude a alguien!
Esto funcionó para mí. Gracias – RJB
- 1. iPhone - teléfono se va a dormir, incluso si idleTimerDisabled es SÍ
- 2. ¿Se llama a onCreate cuando se crea un objeto Activity?
- 3. ¿Qué sucede con mi aplicación cuando mi Mac se va a dormir?
- 4. Listview va onclick a una nueva actividad
- 5. termina la actividad llamada cuando AsyncTask completa
- 6. acceso Fragmento Vista desde onCreate de Actividad
- 7. Métodos de actividad: onCreate() y onDestroy()
- 8. cierre de una actividad en onCreate
- 9. SSRS - Proceso muere/se va a dormir después de no ser utilizado
- 10. Acceso a la red cuando el teléfono Android está dormido
- 11. ¿Cómo se puede llamar a la instancia de actividad de llamada Actividad?
- 12. public onCreate(), o protected onCreate()?
- 13. Cómo me recupero de una computadora cliente WebSocket que va a dormir o la aplicación va a segundo plano (Safari en iPad)
- 14. UITableViewCell va negro cuando se selecciona programáticamente
- 15. Android, SharedPreference perdido cuando el teléfono se reinicia
- 16. Cómo evitar dormir en Android
- 17. ¿Cómo simular que el iPhone se ponga a dormir en el simulador de iOS?
- 18. El teclado OnScreen se abre automáticamente cuando se inicia Actividad
- 19. ¿Por qué la entidad todavía se valida cuando se va?
- 20. Android: ¿Siempre se llama a onResume después de onCreate?
- 21. Cómo deshabilitar onCreate action cuando se cambiará la orientación?
- 22. ¿Cómo elimino una actividad cuando se presiona el botón Atrás?
- 23. Perder extras Intención cuando regrese a la actividad
- 24. actividad de llamada cuando evento de clic de notificación
- 25. onCreate siempre se llama si navega hacia atrás con intención
- 26. Desconexión automática de Android cuando la aplicación va al fondo
- 27. iniciar una nueva actividad en onCreate funciona solo con retraso
- 28. Cómo saber que el destinatario es atendido la llamada (cuál es el estado del teléfono cuando levanta la llamada)
- 29. ¿Por qué se llama onResume() cuando se inicia una actividad?
- 30. Android: detectar cuando se inicia otra actividad (o su actividad pierde el foco)
¿Seguro que su aplicación no se está reiniciando debido a un cambio de orientación? –
No lo es. Sucede con el teléfono sentado perfectamente quieto en mi escritorio. Cuando presiono el botón de reposo, se llama a ontroyy, de alguna manera se está iniciando una nueva actividad. – iterator
Debo señalar que está pasando my validInstanceState válido al relanzar. – iterator