我真的需要一点建议。我有一个运行游戏的活动,当用户按下Back按钮时,它将使用onBackPressed()方法返回主菜单,但如果按下Home按钮或接到电话呼叫,我也会重写onUserLeaveHint()来执行相同的操作。但是,当按下“后退”按钮时,也会调用此方法,这意味着主菜单意图被调用两次,其中一个位于另一个之上。
如果任何人有关于如何解决这个问题的想法,或者有更好的方法来处理这两个事件,将非常感谢。
谢谢。
发布于 2012-01-06 04:10:04
与活动的其他生命周期方法一样,onUserLeaveHint()是受保护的方法,如果您正在处理onUserLeaveHint,则需要注意以下情况
基本上,它暗示用户正在尝试离开您的活动。这意味着如果你在处理onUserLeaveHint(),你不需要在你的代码中处理onBackPressed()。
发布于 2011-07-07 22:48:13
这只是一个可能对你有帮助的想法,我将它用于我的“自制”ActionBar,以确定用户在退出之前何时真正到达了主要(也是最后一个)活动。我手动启动Main-Activity,并通过设置FLAG_ACTIVITY_CLEAR_TOP标志来清除整个活动堆栈,因此如果用户现在再次单击back按钮,应用程序将关闭。
Intent intent = new Intent(getContext(), MainMenu.class).
setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);https://stackoverflow.com/questions/6612058
复制相似问题