Pra*_*ath 49 android-gesture gesture-navigation android-13
我正在运行 Android 应用程序“Android-13”,在 Logcat 中我看到此警告,如何解决此问题?
OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
Run Code Online (Sandbox Code Playgroud)
Pra*_*ath 47
这是因为Android手势导航,参考链接在这里
\n为了帮助预测性后退手势对用户有用且一致,我们通过添加新的 API 并弃用现有的 API,转向用于后退事件处理的提前模型。
\n新平台 API 和 AndroidX Activity 1.6+ 的更新旨在让您尽可能顺利地从不受支持的 API(KeyEvent#KEYCODE_BACK 和 OnBackPressed)过渡到预测性后退手势。
\n新平台 API 包括OnBackInvokedCallback和OnBackInvokedDispatcher,AndroidX Activity 1.6+ 通过现有的OnBackPressedCallback和OnBackPressedDispatcherAPI 支持它们。
您可以通过两到四个步骤开始测试此功能,具体取决于您现有的实现。
\n\n\n\n
\n- 升级到 AndroidX Activity 1.6.0-alpha05。通过升级对 AndroidX Activity 的依赖,
\nOnBackPressedDispatcher当您选择加入预测性后退手势时,已经使用\n API(例如片段和导航\n组件)的 API 将无缝工作。
// In your build.gradle file:\n dependencies {\n\n // Add this in addition to your other dependencies\n implementation "androidx.activity:activity:1.6.0-alpha05"\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n
\n- 选择预测性后退手势。通过在应用程序级别\在 AndroidManifest.xml 中将 EnableOnBackInvokedCallback 标志设置为 true 来选择加入您的应用程序。
\n
<application\n\n ...\n\n android:enableOnBackInvokedCallback="true"\n\n ... >\n\n...\n\n</application>\nRun Code Online (Sandbox Code Playgroud)\n\n\n如果您的应用不\xe2\x80\x99 拦截返回事件,则您\n步骤已完成。注意:选择加入在 Android 13 中是可选的,在此版本之后将被忽略。
\n
val onBackPressedCallback = object: OnBackPressedCallback(true) {\n\n override fun handleOnBackPressed() {\n\n // Your business logic to handle the back pressed event\n\n }\n\n }\n\n requireActivity().onBackPressedDispatcher\n\n .addCallback(onBackPressedCallback)\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n
\n- 当您的应用准备好停止拦截系统 Back 事件时,请禁用 onBackPressedCallback 回调。
\n
onBackPressedCallback.isEnabled = webView.canGoBack()\nRun Code Online (Sandbox Code Playgroud)\n\n\n注意:您的应用可能需要使用平台 API(OnBackInvokedCallback 和 OnBackPressedDispatcher)来实现预测性后退手势。请阅读我们的文档了解详细信息。
\n
| 归档时间: |
|
| 查看次数: |
74090 次 |
| 最近记录: |