Quiero ir a la pantalla de inicio de forma programada en Android cuando el usuario hace clic en el botón. ¿Cómo puede hacerse esto?Ir a la pantalla de inicio de forma programática
Respuesta
Usted puede hacer esto a través de un Intent.
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
Este intento iniciará la aplicación de iniciador que el usuario haya definido. Tenga cuidado con esto porque parecerá que su aplicación se bloqueó si el usuario no espera esto.
Si desea que esta para construir un botón de salida de su aplicación por favor leer este artículo sobre exit Buttons en Android
He leído que esto es muy incorrecto en una aplicación. Pero, ¿por qué la gente lo dice? Sé dónde lo estoy usando. Y parece que eso es lo único que puedo hacer para hacer lo que quiero hacer. Entonces, ¿está bien usarlo? – Enigma
Lo más simple que funciona para mí: 'startActivity (new Intent (Intent.ACTION_MAIN) .addCategory (Intent.CATEGORY_HOME));' (FLAG_ACTIVITY_NEW_TASK no parece ser necesario.) – Jonik
Este es un hilo más antiguo, aunque este las obras que regresan a la actividad anterior no funcionan. ¿Qué atributos tiene eso? – portfoliobuilder
De Android developer sitio
Éstos son algunos ejemplos de otras operaciones que se pueden especificar como las intenciones que utilizan estos parámetros adicionales:
* ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.
stOle No hay nada de malo en hacer preguntas que se pueden responder con una consulta rápida de Google y una mirada a la documentación. Si la pregunta contiene las palabras clave correctas, aparecerá en la primera página de Google muy rápidamente y hace que encontrar la información correcta y el código de muestra sea mucho más rápido que mirar la documentación. Soy un programador de Android entrenado, pero tendría que buscar en Google y omitir una o dos páginas para responder a esta pregunta. Sería genial si la respuesta a esta pregunta está aquí donde se puede editar, mejorar, actualizar y calificar. – Janusz
@Janusz, no quise sonar duro ... – st0le
Janusz's answer es grande.
Lo único que quiero agregar, que es un poco demasiado largo para un comentario, es que puede ir a la pantalla de inicio sin tener una referencia a la actividad actual.
código de Janusz necesita ser llamado de una actividad o un fragmento debido a startActivity()
,
Para evitar esto, se puede almacenar una referencia estática a su aplicaciones Contexto en su expediente de solicitud:
public class YourApplication extends Application
{
private static Context mAppContext;
public void onCreate()
{
super.onCreate();
...
YourApplication.mAppContext = getApplicationContext();
}
public static Context getContext()
{
return mAppContext;
}
}
Ahora puede enviar al usuario a la pantalla de inicio del dispositivo desde cualquier clase de su aplicación, no solo Actividades, Fragmentos u otras Clases con referencia a la Actividad actual (puede decidir si esto es bueno o malo):
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
YourApplication.getContext().startActivity(startMain);
Una solución de línea
moveTaskToBack(true); //activity.moveTaskToBack(true);
se comportará como se pulsa el botón Inicio
Sé que esto es un poco tarde, pero también me encontré con el mismo problema y aquí es cómo lo resolví . Volviendo a su MainActivity
es necesario agregar banderas de la Activity
salir
final Intent mainActivity = new Intent(this, MainActivity.class);
mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
Ahora, cuando se ha pulsado el botón de retroceso siendo MainActivity
la activa, pasará a la pantalla principal.
- 1. Ir a la pantalla de inicio en lugar de la actividad anterior
- 2. android - ir a la pantalla de configuración
- 3. ¿Cómo ir a la pantalla de inicio predeterminada de Android programáticamente?
- 4. agregue id de forma programática a R.id
- 5. Controlador de navegación Botón Atrás para ir a la pantalla anterior a la pantalla anterior
- 6. Pantalla Imagen de inicio
- 7. Captura de pantalla programática en dispositivo móvil
- 8. iPhone: ¿Cómo podemos cambiar el brillo de la pantalla de forma programática?
- 9. Cómo regresar a la pantalla de inicio desde la actividad
- 10. PhpMyAdmin sigue redirigiendo a la pantalla de inicio de sesión
- 11. Android: ajuste los tamaños de forma programática de acuerdo con el tamaño de pantalla
- 12. ¿Cómo acceder a los datos del portapapeles de forma programática?
- 13. script de inicio en la pantalla
- 14. ¿Determinando de forma programática la causa de IOException?
- 15. HTML de selección desplegable de ir fuera de la pantalla
- 16. ¿Instalar webapp a la pantalla de inicio en iPhone?
- 17. Establecer precio especial de forma programática en Magento
- 18. ¿Hay alguna forma de distinguir entre una actividad de Android onResume desde la pantalla de inicio?
- 19. Tecla de inicio ir al inicio de la línea en Visual Studio?
- 20. JQuery Mobile ¿Agregar las opciones de la pantalla de inicio?
- 21. Creación de programas de radio de forma programática
- 22. Cómo agregar un Precargador de aplicaciones/Pantalla de inicio/Pantalla de inicio a Mi aplicación de Android PhoneGap
- 23. Ir a pantalla completa sin estirar en un juego XNA
- 24. ¿Cómo mover de forma programática la ubicación de los iconos desde el escritorio de Windows?
- 25. Cómo iniciar la pantalla de inicio de forma programada en Android
- 26. Ir a pantalla completa con video HTML5 en iPad/iPhone
- 27. SharePoint: cómo agregar un archivo adjunto a un elemento de la lista de forma programática?
- 28. ¿Cómo se leen las listas de SharePoint de forma programática?
- 29. ¿Cómo puedo cambiar la página de inicio de Mediawiki 1.19.1 para ir directamente a Special: UserLogin
- 30. ¿Puedo determinar requisitos de interfaz/dependencias/herencia de forma programática?
Por favor, acepte algunas de sus preguntas anteriores. – nothrow
Una forma simple es anular onBackPressed o mediante keyEvent = Backpressed y llamar aHomePressed en él. entonces se comportará como en casaPresionada – Nepster