使用 Kotlin 在 Android 中双击后退按钮从应用程序退出
“返回”按钮在许多不同的 Android 应用程序中有许多不同的用途。虽然一些应用程序开发人员使用它来关闭他们的应用程序,但有些人使用它来遍历应用程序的先前活动。许多应用程序要求用户在一个时间间隔内按两次“返回”按钮才能成功关闭应用程序,这被认为是最佳实践。因此,双击后退按钮退出应用程序是一个很好的做法。有时用户可能会错误地按下后退按钮。因此,为了确保用户是否真的想退出应用程序,我们实现了此功能。
所以在本文中,我们将学习如何在我们的应用程序中通过双击返回按钮来实现退出功能。我们将使用kotlin在我们的应用程序中实现此功能。
Note: To implement in Java refer to this article: How to Implement Press Back Again to Exit in Android?
分步实施
第 1 步:在 kotlin 中创建一个新的 android 项目。
第 2 步:活动的 XML 布局,在这个项目中,我们只有一个活动。并且 XML 布局设计也将非常简单。
XML
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()
}
}
您可以自定义布局。
第 3 步:现在在 mainActivity 中,我们将覆盖 onBackPressed() 方法。第一次按下后退按钮,我们将存储当前系统时间,并显示一个 toast。如果用户在 3 秒内再次按下后退按钮,我们将调用 finish() 方法。
科特林
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()
}
}
这样我们的应用就准备好了。
输出: