libgdx使android后退按钮的作用类似于主页按钮

时间:2018-09-25 08:17:05

标签: java android libgdx

我希望android设备的后退按钮在按下时像主页按钮一样工作(暂停应用程序并失去焦点)

我有这个:

(称为Gdx.input.setInputProcessor(this);Gdx.input.setCatchBackKey(true);

@Override
public boolean keyDown(int keycode) {
    if(keycode == Input.Keys.BACK) {
        pause();
    }
    return false;
}

但是仅调用pause()方法是不够的,我该如何调用使其使其像主页按钮一样?

2 个答案:

答案 0 :(得分:1)

Gdx.input.setCatchBackKey(true); // This will prevent the app from being paused.

使用Interfacing并通过核心模块调用平台特定的代码

内部核心模块

interface PlatformService{

    fun moveToStack()
}

在Android模块中实现以上界面

@Override
public void moveToStack() {
    this.moveTaskToBack(true);
}

获取您在核心模块中实现的参考,并在keyDown后退按钮上调用实现的方法

 Gdx.input.setInputProcessor(new InputAdapter(){
        @Override
        public boolean keyDown(int keycode) {

            if (keycode==Input.Keys.BACK){
                 platformService.moveToStack();
            }

            return super.keyDown(keycode);
        }
    });

答案 1 :(得分:0)

调用YourActivity.this.moveTaskToBack(true);而不是pause();方法 喜欢:

  @Override
public void onBackPressed() {
    this.moveTaskToBack(true);
}

在活动中添加上面的代码,您要在其中操作后退按钮(例如主页按钮)。