android - LibGDX - 从未调用过暂停和处置方法

标签 android libgdx live-wallpaper

我正在 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
};
}

因此,当我关闭动态壁纸时,永远不会调用 disposepause 。我在 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/

相关文章:

java - onCheckedChangeListener 不适用于 Android Studio

java - 无法在 Netbeans 上编译 libGDX

android - 动态壁纸中的 HTTP 请求

java - 如何检查我的动态壁纸是否正在运行

android - 制作动态壁纸

java - 将 Spinner 选择保存到 SQLite 数据库中

android - gradle项目中输入流不能为空异常

android - 如何在导航组件中从 Dialog 导航到 Fragment?

libgdx - 如何更改窗口/表中现有scene2d.ui小部件的大小?

scroll - libGDX:如何让相机指向移动的 Sprite ?