Quiero que una nueva actividad comience con un poco de retraso al presionar un botón. ¿Es posible hacer eso y cuál es el procedimiento?¿Cómo iniciar una actividad diferente con un poco de retraso después de presionar un botón en Android?
Respuesta
Puede llamar a Runnable utilizando el método postDelayed() del controlador.
He aquí un ejemplo (http://developer.android.com/resources/articles/timed-ui-updates.html):
private Handler mHandler = new Handler();
...
OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
mHandler.postDelayed(mUpdateTimeTask, 100);
}
};
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
// do what you need to do here after the delay
}
};
Apoyos a @mad para hacerlo bien la primera vez .
Puede usar el método postDelayed(Runnable action, long delayMillis)
de View
para agregar un Runnable
a la cola de mensajes que se ejecutará después de un retraso (aproximado).
Esto permitirá el comportamiento deseado sin bloquear el subproceso de interfaz de usuario. –
Use una llamada postDelayed() con un ejecutable que inicia su actividad. Un código de ejemplo podría ser
//will care for all posts
Handler mHandler = new Handler();
//the button's onclick method
onClick(...)
{
mHandler.postDelayed(mLaunchTask,MYDELAYTIME);
}
//will launch the activity
private Runnable mLaunchTask = new Runnable() {
public void run() {
Intent i = new Intent(getApplicationContext(),MYACTIVITY.CLASS);
startActivity(i);
}
};
Tenga en cuenta que esto permite que la interfaz permanece reactiva. A continuación, debe tener cuidado de eliminar el oyente onclick de su botón.
Usar este código
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Intent mainIntent = new Intent(CurrentActivity.this, SecondActivity.class);
LaunchActivity.this.startActivity(mainIntent);
LaunchActivity.this.finish();
}
}, 4000);
A veces, u necesidad de hacerlo cada vez que el proceso de aplicación está muerto o no. En ese caso, no puede usar el manejo de mensajes ejecutables o dentro de su proceso. En este caso, puede usar AlarmManager para esto. Espero que esto ayuda a nadie ejemplo:
Intent intent = new Intent();
...
PendingIntent pendingIntent = PendingIntent.getActivity(<your context>, 0, intent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, <your delay>, pendingIntent);
runOnUiThread(new Runnable() {
@Override
public void run() {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}, 4000);
}
});
probar este pedazo de código
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// run AsyncTask here.
}
}, 3000);
- 1. Android: Iniciar una actividad para una aplicación de terceros diferente
- 2. iniciar una nueva actividad en onCreate funciona solo con retraso
- 3. Iniciar una actividad con un parámetro
- 4. Cerrar la aplicación al presionar el botón Atrás en Android
- 5. ¿Cómo iniciar una actividad que se define en un paquete diferente desde un widget?
- 6. Borrar actividad Apilar e iniciar nueva actividad en android
- 7. ¿Cómo iniciar un servicio de Android desde una actividad y detener el servicio en otra actividad?
- 8. Inicio de una actividad de un servicio después de pulsar el botón HOME sin los 5 segundos de retardo
- 9. ¿Cómo iniciar una actividad desde un servicio?
- 10. Java/android cómo iniciar una AsyncTask después de 3 segundos de retraso?
- 11. Fin de llamada() Después de iniciar una nueva actividad
- 12. No se puede iniciar un nuevo intento por setClassName con un paquete diferente en Android
- 13. ¿Cómo repito un método cada 10 minutos después de presionar un botón y lo termino en otro botón? Oprima
- 14. Cómo ocultar el teclado después de presionar un botón Atrás de UINavigationBar en ios
- 15. iniciar una actividad de preferences.xml
- 16. ¿Cómo borrar el widget de entrada después de presionar un botón en Tkinter?
- 17. ¿Cómo poner algo de retraso en llamar una actividad de otra actividad?
- 18. ¿Cómo tener actividad en Android con un botón de cerrar en la esquina superior?
- 19. Cómo iniciar una actividad Administrar cuentas/Sincronizar configuración en Android?
- 20. iniciar actividad de otra aplicación Android
- 21. Iniciar la aplicación de Android sin actividad
- 22. ¿Cómo iniciar una segunda actividad en Android? obteniendo el error
- 23. ¿Cómo recargo/actualizo UIPickerView (con una nueva matriz de datos) en función de presionar un botón?
- 24. Android - Evitar que una actividad se destruya, simplemente detenerla o detenerla al presionar el botón Atrás
- 25. Android - Cómo iniciar una nueva actividad desde una instancia
- 26. Comenzar la actividad con el botón Android
- 27. ¿Cómo iniciar correctamente la actividad desde PostExecute en Android?
- 28. Propósito de iniciar una actividad de navegación
- 29. ¿Cómo iniciar una actividad con una pestaña específica?
- 30. Iniciar un servicio de la actividad
importa si le pregunto por qué sentía que necesitaba el retraso? Noté esto escrito en un viejo proyecto para el trabajo, no estoy seguro de por qué eligieron hacer esto. – AdamMc331