切换主题会降低 activity 对 Android 6 的关注

Switching Themes drops focus for activity on Android 6

有没有人遇到过这样的场景,你用AppCompatDelegate改变主题,然后如果你点击后退按钮转到上一个activity,那个activity就不能交互了.我点击

时看到以下错误
Dropping event due to no window focus: MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=245.0, y[0]=928.9525, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=80728630, downTime=80727874, deviceId=15, source=0x1002 }

每当我尝试与屏幕互动时,我都会收到此消息。如果我切换应用程序、转动屏幕 off/on 或任何可以使其再次获得焦点的东西,都可以。

我的确切情况是我正在使用 Activity。我决定更改主题,所以我进入设置菜单并更改它们。然后我回击以退出我原来的设置 activity。更改主题后,我可以在设置中进行交互 activity。只有当我使用后退按钮离开设置时,我才失去交互的能力。

注意:现代 Android 10 设备没有这个问题,只有我的旧 Android 6.0.1 设备有。

有新版本的 appcompat 可以解决您的问题,1.2.0-beta01。看起来在版本 alpha03 中他们解决了这个问题:

Fix issue where stopped Activities were not resuming on API Level 23 and below (I45201)

您可以在 appcompat releases page 上找到更多详细信息。

更新您的 build.gradle 文件以包含以下库参考,您应该可以开始了:

implementation 'androidx.appcompat:appcompat:1.2.0-beta01'