@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun DemoFun() {
var scope = rememberCoroutineScope()
var snackbarHostState = remember { SnackbarHostState() }
var showExitHint by remember { mutableStateOf(false) }
BackHandler(true) {
if (showExitHint) {
// 调用 Activity 对象的 finishiAffinity() 方法,
// 可以关闭当前 Activity 所属的 Activity 栈中所有的 Activity。
// 如果所有 Activity 都保存在默认栈中,则使用该方法会直接退出程序。
// (来源:https://blog.csdn.net/xieluoxixi/article/details/53469553)
finishAffinity()
return@BackHandler
}
// 将 showExitHint 的值设置为 true,表示 Snackbar 已经出现
showExitHint = true
scope.launch {
// 当 Snackbar 消失时,改变 showExitHint 的值
showExitHint = snackbarHostState.showSnackbar("再按一次以退出") != SnackbarResult.Dismissed
}
}
}
标签:Compose,showExitHint,Jetpack,Snackbar,Activity,var,true
From: https://www.cnblogs.com/thisDart/p/16726410.html