我在运行我的Android应用程序‘Android-13,在Logcat中我看到了这个警告,如何解决这个问题?
OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
发布于 2022-09-20 06:16:49
这是因为Android手势导航,参考链接
为了帮助用户提供帮助和一致的预测回退姿态,我们将通过添加新的API和废弃现有的API,转向提前的事件处理模型。
新的平台API和对AndroidX Activity 1.6+的更新旨在使您从不受支持的API (KeyEvent#KEYCODE_BACK和OnBackPressed)过渡到尽可能平滑的预测返回姿态。
新的平台API包括OnBackInvokedCallback
和OnBackInvokedDispatcher
,AndroidX Activity 1.6+通过现有的OnBackPressedCallback
和OnBackPressedDispatcher
API支持这些API。
根据您现有的实现,您可以在两到四个步骤中开始测试这个特性。
OnBackPressedDispatcher
API(如片段和导航组件)的API将无缝地工作,当您选择使用预测性回退手势时。 // In your build.gradle file:
dependencies {
// Add this in addition to your other dependencies
implementation "androidx.activity:activity:1.6.0-alpha05"
<application
...
android:enableOnBackInvokedCallback="true"
... >
...
</application>
如果您的应用程序没有拦截回事件,您就完成了这一步。注意:在Android 13中,Opt是可选的,在这个版本之后它将被忽略。 如果您的应用程序没有拦截回事件,您就完成了这一步。注意:在Android 13中,Opt是可选的,在这个版本之后它将被忽略。
val onBackPressedCallback = object: OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// Your business logic to handle the back pressed event
}
}
requireActivity().onBackPressedDispatcher
.addCallback(onBackPressedCallback)
onBackPressedCallback.isEnabled = webView.canGoBack()
注意:您的应用程序可能需要使用平台app (OnBackInvokedCallback和OnBackPressedDispatcher)来实现预测性回显。详细信息请阅读我们的文档。
https://stackoverflow.com/questions/73782320
复制相似问题