由于对
Xamarin.Android
的支持结束,我正在将我的 Xamarin
应用程序转换为 .Net Android Maui。我的应用程序涉及的功能之一是覆盖硬件后退按钮。在 Xamarin.Android
中,我使用 OnBackPressedDispatcher.AddCallback
并继承自 OnBackPressedCallback
毫无问题地做到了这一点。继承OnBackPressedCallback
没问题,但是AddCallback
中好像缺少OnBackPressedDispatcher
方法。我应该怎么做才能将回调添加到 Activity
? (注意:我的应用程序仅适用于 Android,因此我的大部分代码都是相同的,我只需要将基于 Xamarin 的代码替换为基于 Maui 的等效代码)。有什么想法吗?谢谢!
@内森·索卡尔斯基
如果您正在寻找有关 OnBackPressedCallback 的信息,您可以查看我的 GitHub。有两个例子:NavigationGraph8Net7(有它)和NavigationGraph8Net8(没有它)。这实际上取决于您想要做什么,因为它也会产生问题;请参阅两个自述文件。在运行 Android 15 的设备以及设置了开发人员选项(预测动画)设置且没有任何回调的 13 和 14 设备上退出时,NavigationGraph8Net8 仍然显示预测返回。
您需要描述您正在尝试做什么以获得进一步的建议。
我不太确定我想用它在片段之间进行正常的向后滑动,而不是主页片段(退出应用程序)。例如,使用 Android 的“设置”应用程序,其中所有屏幕之间都完全实现了预测返回。我不确定我是否真的想要在我的应用程序中进行这些转换,但我有兴趣在提交之前获得用户反馈,或者将其作为用户可以控制的选项(如果他们不喜欢它)。
Google 也没有指导用户。即使在运行 Android 15 的 Pixel 设备上,有很多应用程序(甚至 Gmail)也不使用预测返回,即使在退出时也是如此。