如何显示对话框以确认用户希望退出应用程序



此处使用onBackPressed((的答案已被弃用。

如何显示对话框以确认用户希望退出Android活动?

新方法是什么?此外,我的活动包含片段,我正在使用导航组件,当我在片段内时,onBackPressed((也会触发,需要避免它。

我想你正在寻找这样的东西https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher

如果您使用的是导航图,那么您应该尝试以下代码。

onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
try {
val count = supportFragmentManager.findFragmentById(R.id.fragmentContainerView)
?.childFragmentManager?.backStackEntryCount ?: 0
if (count == 0) showExitSnackBar()
}catch (e:Exception){
e.printStackTrace()
}
}
})

最新更新