LibGDX Android Gdx.app.exit() 不起作用,如何以其他方式关闭应用程序?
LibGDX Android Gdx.app.exit() doesnt work, how to close app in another way?
我正在尝试关闭 android 的模板应用程序(启动 render() 方法后 5 秒)。
应用程序正在关闭,但 activity 在背景中仍然存在,如果需要,我可以返回应用程序。
当我在没有计时器的情况下使用 this.dispose() 时,就在 render() 方法的末尾它工作正常 - 没有 activity 来恢复应用程序,但是当 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);
}
}
您不应退出移动平台上的应用程序,Gdx.app.exit
旨在用于桌面设备。在 Android 上退出由用户按下后退键而您的应用程序没有捕捉到它。
我正在尝试关闭 android 的模板应用程序(启动 render() 方法后 5 秒)。
应用程序正在关闭,但 activity 在背景中仍然存在,如果需要,我可以返回应用程序。
当我在没有计时器的情况下使用 this.dispose() 时,就在 render() 方法的末尾它工作正常 - 没有 activity 来恢复应用程序,但是当 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);
}
}
您不应退出移动平台上的应用程序,Gdx.app.exit
旨在用于桌面设备。在 Android 上退出由用户按下后退键而您的应用程序没有捕捉到它。