我正在学习 Android,并尝试制作多屏应用以在这方面做得更好。我有 3 个 Activity 。
1) Main
2) Game
3) GameOver
主要有游戏按钮,按下时启动游戏 Activity 的 Intent 。在 Game 中计时器结束后,我通过 Intent 将分数变量传递给 GameOver Activity。 这个流程工作正常。但是,当我在 GameOver Activity 中看到结果后按下后退按钮时,应用程序会最小化。当我取消最小化应用程序时,它会显示主 Activity 屏幕(实际上需要,但没有最小化应用程序)。我在 Game Activity 中使用 finish() 调用 GameOver 的 Intent 。
在日志中,我收到以下错误:
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 个 Activity 和相同流程的问题。它正在该基本 Activity 应用程序中找到。但不在我的主要应用程序中。我搜索了一下,发现不是错误。没关系,但我不希望我的应用程序在按下后退按钮时最小化。有帮助吗?
最佳答案
Remove finish() from MainActivity. (If you have one at the intent where you call for Game Activity.)
关于由于没有窗口焦点,Android 错误取消事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161298/