首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android onBackPressed/onUserLeaveHint

Android onBackPressed/onUserLeaveHint
EN

Stack Overflow用户
提问于 2011-07-07 22:17:07
回答 2查看 18.9K关注 0票数 9

我真的需要一点建议。我有一个运行游戏的活动,当用户按下Back按钮时,它将使用onBackPressed()方法返回主菜单,但如果按下Home按钮或接到电话呼叫,我也会重写onUserLeaveHint()来执行相同的操作。但是,当按下“后退”按钮时,也会调用此方法,这意味着主菜单意图被调用两次,其中一个位于另一个之上。

如果任何人有关于如何解决这个问题的想法,或者有更好的方法来处理这两个事件,将非常感谢。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-01-06 04:10:04

与活动的其他生命周期方法一样,onUserLeaveHint()是受保护的方法,如果您正在处理onUserLeaveHint,则需要注意以下情况

  1. When User hits key
  2. When User back
  3. When User hits bar

基本上,它暗示用户正在尝试离开您的活动。这意味着如果你在处理onUserLeaveHint(),你不需要在你的代码中处理onBackPressed()

票数 11
EN

Stack Overflow用户

发布于 2011-07-07 22:48:13

这只是一个可能对你有帮助的想法,我将它用于我的“自制”ActionBar,以确定用户在退出之前何时真正到达了主要(也是最后一个)活动。我手动启动Main-Activity,并通过设置FLAG_ACTIVITY_CLEAR_TOP标志来清除整个活动堆栈,因此如果用户现在再次单击back按钮,应用程序将关闭。

代码语言:javascript
复制
Intent intent = new Intent(getContext(), MainMenu.class).
setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6612058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档