我正在 LibGDX 上创建动态壁纸。我正在使用它的最新版本(2013 年 12 月)。 当动态壁纸关闭或暂停时,我需要处理一些图像。 我正在使用以下类(class):
public class GdxBase implements ApplicationListener, AndroidWallpaperListener, InputProcessorLW{
public abstract boolean needsGL20();
public void create() {
//works
};
public void resume() {
Gdx.app.log("LibGDX", "resume");//works
};
public void render() {
//works
};
public void resize(int width, int height) {
//works
};
public void pause() {
Gdx.app.log("LibGDX", "pause"); //never called
};
public void dispose() {
Gdx.app.log("LibGDX", "dispose"); //never called
};
}
因此,当我关闭动态壁纸时,永远不会调用 dispose
或 pause
。我在 LogCat 中只看到 resume
而不是我的 WallpaperService: engine Paused
记录。如何调用它们?我有什么错吗?
可能的重复:pause and dispose() not getting called in ApplicationListener in libgdx
最佳答案
我知道这是一个老问题,但您可以在扩展 AndroidLiveWallpaperService 的类中使用这个小技巧并捕获壁纸引擎事件:
@Override
public Engine onCreateEngine() {
return new AndroidWallpaperEngine() {
@Override
public void onPause() {
super.onPause();
Log.i(TAG, "Pause!");
}
};
}
关于android - LibGDX - 从未调用过暂停和处置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364254/