在应用程序清单中将"android:enableOnBackInvokedCallback= "true""中的应用程序未启用 OnBackInvokedCallback 作为警告



我正在运行我的Android应用程序`Android-13,在Logcat中我看到了这个警告,如何解决这个问题?

OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.

这是因为Android手势导航,这里的参考链接

为了帮助预测性背部姿势对用户有用且一致,我们通过添加新的API和弃用现有的API,转向了背部事件处理的提前模型。

新的平台API和AndroidX Activity 1.6+的更新旨在使您从不受支持的API(KeyEvent#KEYCODE_BACK和OnBackPressed(过渡到预测性背部姿势尽可能顺利。

新的平台API包括OnBackInvokedCallbackOnBackInvokedDispatcher,AndroidX Activity 1.6+通过现有的OnBackPressedCallbackOnBackPressedDispatcherAPI支持这两个API。

根据您现有的实现,您可以分两到四个步骤开始测试此功能。

  1. 升级至AndroidX活动1.6.0-alpha05。通过升级对AndroidX活动的依赖,已经在使用碎片和导航等OnBackPressedDispatcherAPI当您选择预测背部时,该组件将无缝工作手势
// In your build.gradle file:
dependencies {
// Add this in addition to your other dependencies
implementation "androidx.activity:activity:1.6.0-alpha05"
  1. 选择预测性背部姿势。通过在应用程序级别将EnableOnBackInvokedCallback标志设置为true来选择您的应用程序在AndroidManifest.xml中
<application
...
android:enableOnBackInvokedCallback="true"
... >
...
</application>

如果你的应用程序没有拦截返回事件,你就完成了步注意:选择加入在Android 13中是可选的,它将被忽略在此版本之后。

val onBackPressedCallback = object: OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// Your business logic to handle the back pressed event
}
}
requireActivity().onBackPressedDispatcher
.addCallback(onBackPressedCallback)
  1. 当您的应用程序准备停止拦截系统Back事件时,禁用onBackPressedCallback回调
onBackPressedCallback.isEnabled = webView.canGoBack()

注意:您的应用程序可能需要使用平台API(OnBackInvokedCallback和OnBackPressedDispatcher(来实现预测性背部姿势。有关详细信息,请阅读我们的文档。

相关内容

  • 没有找到相关文章

最新更新