
Funcionalidad ir hacia atrás
Para añadir la función de ir hacia atrás y aparezca la flechita en la barra de herrramientas de la app (Toolbar) se debe habilitar con la función setDisplayHomeAsUpEnabled()
import kotlinx.android.synthetic.main.activity_main.*
...
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
Interceptar la pulsación del botón atrás
Para interceptar la pulsación del botón atrás desde la toolbar de la aplicación se hace en el evento onOptionsItemSelected
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
android.R.id.home -> {
onBackPressed()
return true
}
}
}
Personalización
Modificar el icono
Se puede personalizar el botón ir hacia atrás de la barra de herramientas, una de ellas es cambiar el icono, se realiza con la función
setSupportActionBar(toolbar)
toolbar.setNavigationIcon(R.drawable.ic_close_24dp)
Para que sea compatible con el modo oscuro el icono se debe modificar para que adopte el color del control normal
<vector
android:tint="?attr/colorControlNormal">
Añadir funcionalidad pulsar 2 veces para salir

A veces es necesario implementar dos pasos para salir de la app, el famoso Press again to exit, para ello debemos obtener cuando se realizo la acción ir hacia atrás y si en un determinado tiempo se vuelve a producir que procede a salir de la app o bien mostrar el mensaje de que es necesario pulsar otra vez para salir
class MainActivity : AppCompatActivity() {
var lastClickTime = 0L
...
override fun onBackPressed() {
if (lastClickTime.plus(2000L) > System.currentTimeMillis()) {
super.onBackPressed()
} else {
Toast.makeText(this, getText(R.string.press_again_exit), Toast.LENGTH_SHORT).show()
lastClickTime = System.currentTimeMillis()
}
}