Erel ha sempre detto di non chiudere le app Android, prima ancora della nascita delle B4XPages.
Il punto è che a volte può essere necessario e, quindi, nessun problema nel chiamare una routine che si trovi nell'Activity Main, tramite una CallSubDelayed, che contenga Activity.Finish.
In una mia app io ho questa routine nell'Activity Main:
Public Sub CloseApp
Activity.Finish
ExitApplication
End Sub
e la chiamo in questo modo:
CallSubDelayed(Main, "CloseApp")
dall'interno di una B4XPage in cui rilevo un fatto che mi obbliga a chiuderla.
Funziona senza problemi.