Adobe AIR后退按钮事件不适用于Android API 28 +

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Adobe AIR后退按钮事件不适用于Android API 28 +相关的知识,希望对你有一定的参考价值。

key_down事件未触发,我们无法阻止该应用关闭。当我们仅针对android API 28+时,这种情况就在Adobe AIR游戏中发生(如果内部版本针对API 27或更低版​​本,一切正常

NativeApplication.nativeApplication.addEventListener( KeyboardEvent.KEY_DOWN, keyDownHandler );

function keyDownHandler( event:KeyboardEvent ):void
{
    trace( event.keyCode );
    if (event.keyCode == Keyboard.BACK)
    {
        event.preventDefault();
    }
}

我做了一些研究,浏览了一些Adobe AIR .jar文件,一切看起来都很好。实际上,我通过其AndroidActivityWrapper进行了一些更改以处理dispatchKeyEvent(),收到了事件,并返回“ true”以防止应用程序关闭,但仍无法正常工作,它会忽略该事件。

我需要一些有关Android API 28中更改内容的线索,为什么同一个Adobe AIR sdk仅在使用此API时会失败。我了解到Harman正在研究修复程序,但没有有关该程序的官方信息。

我提供了堆栈跟踪的一部分,您可以在其中看到来自本地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)

key_down事件未触发,我们无法阻止该应用关闭。当我们仅针对Android API 28+时,这种情况就在Adobe AIR游戏中发生(如果构建...

以上是关于Adobe AIR后退按钮事件不适用于Android API 28 +的主要内容,如果未能解决你的问题,请参考以下文章

Adobe Air .air文件:是32位,64位还是都不是?

Phonegap - navigator.app.backHistory() 不适用于 HTML 后退按钮

SwiftUI 在 NavigationView 中添加个人警报视图,后退按钮不适用于 Xcode 12 iOS14

Adobe Air 文件运行时权限拒绝不会调度事件

Adobe Air for Android 上的单选按钮和单选按钮组?

连续按下按钮时如何加快前进/后退过程