【问题标题】:LibGDX Android Gdx.app.exit() doesnt work, how to close app in another way?LibGDX And​​roid Gdx.app.exit() 不起作用,如何以另一种方式关闭应用程序?
【发布时间】:2020-10-25 21:55:43
【问题描述】:

我正在尝试关闭适用于 android 的模板应用程序(render() 方法启动后 5 秒)。
应用程序正在关闭,但活动在背景中仍然存在,如果我愿意,我可以返回应用程序。
当我在没有计时器的情况下使用 this.dispose() 时,就在 render() 方法的末尾它工作正常 - 没有恢复应用程序的活动,但是当 gdx 绘制任何东西时,就会出现这个问题。
我试过放入计时器:Gdx.app.exit() / this.dispose() / System.exit(-1) 如果 render() 方法已经工作了一段时间,没有任何帮助。

代码如下:

public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
MyGdxGame instance;
boolean isReadyToClose = false;

@Override
public void create () {
    instance = this;
    batch = new SpriteBatch();
    img = new Texture("badlogic.jpg");
}

@Override
public void render () {

    Gdx.gl.glClearColor(1, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(img, 0, 0);
    batch.end();

    if (!isReadyToClose) {

        isReadyToClose = true;

        new Timer().scheduleTask(new Timer.Task() {
            @Override
            public void run() {

                //instance.dispose();
                Gdx.app.exit();

            }
        }, 5);

    }

}

@Override
public void dispose () {
    batch.dispose();
    img.dispose();

    System.exit(-1);
}
}

【问题讨论】:

    标签: java android android-activity libgdx android-lifecycle


    【解决方案1】:

    您不应该退出移动平台上的应用程序,Gdx.app.exit 旨在用于桌面。 Android 上的退出通过用户按下返回键而您的应用程序没有捕捉到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多