Hola amigos, soy nuevo en B4A, estoy tratando de hacer lo siguiente:
Tengo 3 Activity A, B y C, A llama a B y B llama a C, pero al terminar el proceso de C, necesito que regresa directamente a A, pero sin StartActivity(A), porque al darle del BackButton en el teléfono, según la historia de navegación, me regresa a C.
Existe una forma de ejecutar Activity.Finish a C y B al mismo tiempo?
Los podrias poner en el Activity_Resume de cada activity padre, controlando si se trata de un cierre total de la aplicación o simplemente es un cierre de la activity hija por lo que no deberá cerrar todos los activity.
Excelente idea, puedo crear una variable Boolean Global, antes de ejecutar Activity.Finish en el C, le coloco True a la variable, y si esa variable es True en el Activity_Resume del B, le ejecuto el Activity.Finish.
puedes capturar la tecla atras en B y C y cargar el A
Algo asi:
B4X:
Sub Activity_KeyPress(KeyCode As Int) As Boolean
' esto ponlo en el activity B y C
If KeyCode = KeyCodes.KEYCODE_BACK Then StartActivity(A)
End Sub
Cuando quieras salir de la aplicacion sal con "ExitApplication" y descargara el que quede en segundo plano.
Si te da problema al volver a entrar en B por que ya hay cosas cargadas y necesitas que empiece de 0, crea una variable global para saber si has entrado en B, y si has entrado por que la variable está activa haz lo que te interese. La variable la puedes resetear en el mismo Activity_KeyPress
Perdona Vampirbcn, cuando estaba contestando me entretuve y cuando añadi mi post vi que habias contestado tu tambien.
Tu idea de la variable en el resume tiene un pequeño problema, y es que tendras que determinar si viene de cargar el activity al inicio, si sales por botón de volver atras, si giras la pantalla, o si entras por descargar otro activity que has llamado desde este. En esos casos entra el resume, asi que esa variable tendrá que distinguir todos esos casos.
pero en su caso solo quiere que se cierre si hace click en un botón por lo que le será muy fácil controlarlo:
Si hace click al botón cerrar pone la variable global a true y los resumes cierran las activitys en otros casos (giro de pantalla, botón retoceso etc) no hace nada, le quedará muy limpio y muy sencillo.
Y no pidas perdón, cuantas más aportaciones más aprenderemos...