BackHandler

fun BackHandler(enabled: Boolean = true, onBack: BackPressedHandler.() -> Unit = {})

后退拦截器

Parameters

enabled

是否开启拦截

onBack

拦截时的回调,需要注意的是onBack方法的接受者是BackPressedHandler,该对象有BackPressedHandler.backPressed方法可以跳过拦截直接后退。

var enable by remember { mutableStateOf(true) }
BackInterceptor(enable) {
enable = false // backPressed()
}

可以在若干次拦截之后改变enable的值以致下次后退不拦截,也可以在一次拦截中处理完某些事情之后调用BackPressedHandler.backPressed方法直接后退。 和android的BackHandler的差别就是BackPressedHandler.backPressed方法。