按下后退按钮时未调用Android onUserLeaveHint()
Posted
技术标签:
【中文标题】按下后退按钮时未调用Android onUserLeaveHint()【英文标题】:Android onUserLeaveHint() in not called when back button is pressed 【发布时间】:2021-04-20 06:41:17 【问题描述】:我正在尝试实现 PIP 模式,为此我正在覆盖 onUserLeaveHint() 以在用户离开活动时注册事件,但在按下后退按钮时不会调用它,它只注册主页或最近按钮。
protected void onUserLeaveHint()
super.onUserLeaveHint();
if (usePipMode)
setUpPipMode();
所以,我的问题是,是否可以在 onUserLeaveHint() 中注册后退按钮按下,如果可以,请提供一些代码示例。这会很有帮助。
谢谢。
【问题讨论】:
【参考方案1】:你可以用 onBackPressed 方法来做到这一点
@Override
public void onBackPressed()
onUserLeaveHint()
【讨论】:
感谢您的回答,我也这样做了,但我还添加了 super.onBackPressed();前。删除 super.onBackPressed(); 后它现在正在工作。 调用super.onBackPressed()
将在Activity
上调用finish()
,这是返回按钮的正常默认行为。在Activity
上调用finish()
会终止Activity
并转到之前的Activity
。
是的。感谢您的详细解释。以上是关于按下后退按钮时未调用Android onUserLeaveHint()的主要内容,如果未能解决你的问题,请参考以下文章
在Android N多窗口模式下按下主页按钮时未调用Activity onStop()
为啥当我单击基于导航的应用程序上的后退按钮时未调用 viewdidunload 函数
Android:为EditText打开键盘时处理后退按钮单击