Android错误 取消事件由于无窗口焦点

3

我正在学习Android,尝试创建多屏应用程序以提高我的技能。我有3个活动。

1) Main
2) Game
3) GameOver

主界面有一个游戏按钮,按下后会启动Game Activity的意图。当在游戏中计时器结束后,我通过意图将分数变量传递到GameOver Activity。这个流程很好用。但是当我在GameOver活动中查看结果后按下返回按钮,应用程序会最小化。当我还原应用程序时,它显示主活动屏幕(实际上是想要的,但不希望应用程序被最小化)。在我调用GameOver的意图的Game活动中使用了finish()。

在日志中,我得到以下错误:

D/OpenGLRenderer: endAllActiveAnimators on 0xb7d6e128 (RippleDrawable) with handle 0xb7877690
W/ViewRootImpl: Cancelling event due to no window focus: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=0, metaState=0, flags=0x68, repeatCount=0, eventTime=292244107, downTime=292244100, deviceId=-1, source=0x101 }

我创建了一个测试应用程序来解决/理解这个问题,其中有3个活动和相同的流程。在基本活动应用程序中,它可以很好地工作。但是在我的主要应用程序中不行。我搜索并发现这不是错误。那没关系,但我不想在按下返回按钮时将我的应用最小化。有什么帮助吗?

2个回答

1
从MainActivity中删除finish()。(如果在调用Game Activity的意图中有一个)

我已经尝试了,但我不确定它是否有帮助。现在当我从GameOver活动按下返回按钮时,我又回到了同一个游戏中,无限运行。 - impossible
好的,请将您的finish()保留在游戏活动中,查看主活动中是否存在任何finish()。如果有的话,请将其删除。 - Nishant Thapliyal
哈哈,我没注意到我在MainActivity的intent中放了finish()。谢谢你的答案。我修改了你的答案,请接受编辑,这样我就可以接受你的答案了。 - impossible

0
有时候涉及到 requestPermissions 处理。 当你会一起发送多个 requestPermissions 时。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接