Adobe AIR back按钮事件不适用于Android API 28+;

Adobe AIR back按钮事件不适用于Android API 28+;,android,air,android-view,Android,Air,Android View,未触发key_down事件,我们无法阻止关闭应用程序。在AdobeAirGames上,我们只针对Android API 28+(如果构建的目标是API 27或更低版本,则一切正常) 我做了一些研究,检查了一些AdobeAIR.jar文件,一切看起来都很好。事实上,我通过他们的AndroidActivityRapper对dispatchKeyEvent()进行了一些更改,我收到了该事件,并返回“true”以防止关闭应用程序,但仍然无法工作,它忽略了该事件 我需要一些关于Android API 28

未触发key_down事件,我们无法阻止关闭应用程序。在AdobeAirGames上,我们只针对Android API 28+(如果构建的目标是API 27或更低版本,则一切正常)

我做了一些研究,检查了一些AdobeAIR.jar文件,一切看起来都很好。事实上,我通过他们的AndroidActivityRapper对dispatchKeyEvent()进行了一些更改,我收到了该事件,并返回“true”以防止关闭应用程序,但仍然无法工作,它忽略了该事件

我需要一些关于Android API 28中发生了什么变化的线索,为什么相同的AdobeAIR sdk只在使用此API时失败。我读到哈曼正在进行修复,但没有官方信息

我提供了stacktrace的一部分,您可以在其中看到来自本机android组件的dispatchKeyEvent调用:

 at com.app.mobile.appMobile.onKeyDown(appMobile.java:834)
 at com.core.ane.Context.onKeyEvent(Context.java:669)
 at com.adobe.air.AndroidActivityWrapper.callInputEventListeners(AndroidActivityWrapper.java:1921)
 at com.adobe.air.AndroidActivityWrapper.dispatchKeyEvent(AndroidActivityWrapper.java:1488)
 at java.lang.reflect.Method.invoke(Native Method)
 at air.com.app.mobile.test.AppEntry.InvokeMethod(AppEntry.java:365)
 at air.com.app.mobile.test.AppEntry.dispatchKeyEvent(AppEntry.java:496)
 at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:563)
 at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6038)
 at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5893)

最后我发现了问题,这与当我将游戏定位到Android API 28时,没有将焦点分配到AIRWindowSurfaceView有关

这是初始化ANE时我必须运行的代码,以便恢复焦点:

  AndroidActivityWrapper aaw = AndroidActivityWrapper.GetAndroidActivityWrapper();
  aaw.getView().requestFocus();
  aaw.getView().onWindowFocusChanged(true);

我真的很想看到解决这个问题的办法。从11月开始,谷歌强制API级别为28,所以到那时我们需要这个。我想知道这是否与这个问题有关:
  AndroidActivityWrapper aaw = AndroidActivityWrapper.GetAndroidActivityWrapper();
  aaw.getView().requestFocus();
  aaw.getView().onWindowFocusChanged(true);