繁体   English   中英

截屏时Android上的Libgdx错误

[英]Libgdx error on Android when taking screen shot

我创建了一个带有按钮的游戏,单击该按钮即可进行屏幕截图。

    ChangeListener changeListener = new ChangeListener() {

                    //take screenshot and share
                    if(actor.equals(shareBtn)){
                        byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), true);
                        Pixmap pixmap = new Pixmap(Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), Pixmap.Format.RGBA8888);
                        BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length);
                        PixmapIO.writePNG(Gdx.files.external("screenShot.png"), pixmap);
                        pixmap.dispose();
                    }

 };

当我在PC上运行游戏时,没有问题,但是当我在android上运行游戏时,出现此错误(我的手机具有外部SD卡)。

com.badlogic.gdx.utils.GdxRuntimeException: Error writing file: screenShot.png (External)

Caused by: java.io.FileNotFoundException: /storage/emulated/0/screenShot.png: open failed: EACCES (Permission denied)

如果您的目标是Android SDK <23,请确保已添加在清单文件中写入外部存储的权限,否则在运行时获取权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM