[英]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.