Salir de la aplicación con doble clic en el botón Atrás en Android usando Kotlin

El botón ‘Atrás’ tiene muchos usos diferentes en muchas aplicaciones diferentes de Android. Mientras que algunos desarrolladores de aplicaciones lo usan para cerrar sus aplicaciones, otros lo usan para volver a la actividad anterior de la aplicación. Muchas aplicaciones requieren que el usuario presione el botón «Atrás» dos veces dentro de un intervalo para cerrar con éxito la aplicación, lo que se considera la mejor práctica. Por lo tanto, es una buena práctica salir de una aplicación con un doble clic en el botón Atrás. Como en algún momento, el usuario puede presionar el botón Atrás por error. Entonces, para garantizar que, si el usuario realmente quiere salir de la aplicación, implementamos esta función.

Entonces, en este artículo, aprenderemos cómo implementar una función de salida con un doble clic en el botón Atrás en nuestra aplicación. Implementaremos esta característica en nuestra aplicación usando kotlin .

Nota : para implementar en Java, consulte este artículo: ¿Cómo implementar Presionar Atrás de nuevo para salir en Android?

Implementación paso a paso

Paso 1: crea un nuevo proyecto de Android en Kotlin .

Paso 2 : diseño XML para la actividad. En este proyecto solo tenemos una actividad. Y el diseño del formato XML también será muy simple.

XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <ImageView
        android:layout_width="80dp"
        android:layout_height="80dp"     
        android:src="@drawable/ic_geeksforgeeks"
        app:layout_constraintBottom_toTopOf="@+id/textView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
  
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome to GeeksForGeeks"
        android:textColor="#7CB342"
        android:textSize="20dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.303" />
  
</androidx.constraintlayout.widget.ConstraintLayout>

Puede personalizar el diseño.

Paso 3: ahora en mainActivity, anularemos el método onBackPressed(). Con la primera pulsación del botón Atrás, almacenaremos la hora actual del sistema y mostraremos un brindis. Si el usuario vuelve a pulsar el botón Atrás en 3 segundos, llamaremos al método finish().

Kotlin

package com.ayush.gfg_exit
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlin.properties.Delegates
  
class MainActivity : AppCompatActivity() {
    var backPressedTime: Long = 0
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
  
    override fun onBackPressed() {
        if (backPressedTime + 3000 > System.currentTimeMillis()) {
            super.onBackPressed()
            finish()
        } else {
            Toast.makeText(this, "Press back again to leave the app.", Toast.LENGTH_LONG).show()
        }
        backPressedTime = System.currentTimeMillis()
    }
}

Entonces nuestra aplicación está lista.

Producción:

Publicación traducida automáticamente

Artículo escrito por ayushpandey3july y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *