onBackPressed() 在 Android 13 (Tiramisu) 中已弃用。如何正确处理“返回”按钮?
大家好!我刚开始学习使用 Kotlin 进行 Android 开发,遇到了一个问题。我的应用中有多个屏幕(fragment),我需要重写“返回”按钮的行为。以前我使用这样的代码:
```kotlin
override fun onBackPressed() {
if (someCondition) {
super.onBackPressed()
} else {
showExitConfirmationDialog()
}
}
```
但现在 Android Studio 将 `onBackPressed()` 标黄并提示“Deprecated in Java”。我了解到这与 Android 13 (Tiramisu) 有关。我尝试使用 `OnBackPressedDispatcher`,但不知道如何正确集成。我的项目中使用了 `androidx.activity:activity-ktx:1.7.0` 库。
我需要实现:
1. 在主屏幕上按“返回”时,显示退出确认对话框。
2. 在数据编辑屏幕上,直接返回而不确认。
3. 在 WebView 内部,处理浏览器历史(如果有上一页,则返回上一页)。