Java libgdx:InputAdapter从浏览器恢复时不工作

Java libgdx:InputAdapter从浏览器恢复时不工作,java,android,libgdx,Java,Android,Libgdx,我有一个屏幕实现,带有输入多路复用器,它在show()方法中初始化。用InputAdapter和Stage对象初始化inputamultiplexer。 InputAdapter对象侦听后退按钮 class MyInputAdapter extends InputAdapter { @Override public boolean keyDown(int keycode) { if (keycode == Keys.BACK) { // do som

我有一个
屏幕
实现,带有
输入多路复用器
,它在
show()
方法中初始化。用
InputAdapter
Stage
对象初始化
inputamultiplexer
InputAdapter
对象侦听后退按钮

class MyInputAdapter extends InputAdapter {
   @Override
   public boolean keyDown(int keycode) {
        if (keycode == Keys.BACK) {
         // do someting
        return true;
        }
        return false;
    }
}

class MyScreen implements Screen {
    @Override
    public void show() {
        initInputProcessors();
    }

    private void initInputProcessors() {
        if (backButtonInputProcessor != null) {
            initInputMultiplexer();
            Gdx.input.setCatchBackKey(true);
            Gdx.input.setInputProcessor(inputMiltiplexer);
        } else {
            Gdx.input.setCatchBackKey(false);
            Gdx.input.setInputProcessor(stage);
        } 
    }

    private void initInputMultiplexer() {
        if (inputMiltiplexer == null) {
            inputMiltiplexer = new InputMultiplexer();
            inputMiltiplexer.addProcessor(backButtonInputProcessor);
            inputMiltiplexer.addProcessor(stage);
        } 
    }
}
一切正常,后退按钮反应正常。 问题出现在以下场景中。我使用admob。所以,当点击广告横幅时,这会将您带到浏览器。当您从浏览器返回到应用程序时,不会拦截“后退”按钮,应用程序只会退出


我还尝试在
resume()
方法中调用
InitInputProcessors
方法,结果相同。

尝试在
hide()
方法中将
InputProcessor
设置为null。像这样:

@Override
public void hide() {
    Gdx.input.setInputProcessor(null);
}

我在LibGDX论坛上的问题的答案解决了这个问题。以下为

尝试将此添加到您的android MainActivity

@Override
public void onResume() {
    super.onResume();
    theView.requestFocus();
    theView.requestFocusFromTouch();
}
其中
视图
是从
initializeForView()
返回的值


屏幕中的hide()、pause()和resume()方法似乎根本没有被调用。调用游戏实例方法pause()和resume(),我在其中调用super.pause()和super.resume(),将其委托给当前显示的屏幕,如libgdx文档中所述。有虫子吗?我正在使用0.9.9之上的一个夜间版本。我看到已经发布了1.1.0版,我会试试看,它是否能正常工作。当我使用libgdx1.0时,一切都很好。单击admob时,在打开浏览器之前,会调用其中任何一种方法?将LibGdx升级到最新的1.1.0版本。现在在屏幕实现中调用pause()和resume()(在本场景中不调用hide())。但在暂停时将输入处理器设置为“null”,然后在resume()时重新初始化它并不能解决问题。应用程序仍然没有捕获返回按钮。我已经调试了AndroidPut类。在这种情况下,似乎连onKey(…)方法都没有调用。LibGDX中有一些bug吗(更有可能是运行时间在手机上的连接方式。这些方法必须由android调用