在这里,我分享图像的意图。该图像位于可绘制的文件夹中。
为此public class MyGdxGame extends ApplicationAdapter implements GestureDetector.GestureListener {
SpriteBatch batch;
Texture texture;
Sprite sprite;
OrthographicCamera camera;
@Override
public void create() {
batch = new SpriteBatch();
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
texture = new Texture(Gdx.files.internal("map.jpg"));
sprite = new Sprite(texture);
sprite.setPosition(-sprite.getWidth() / 2, -sprite.getHeight() / 2);
Gdx.input.setInputProcessor(new GestureDetector(this));
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
sprite.draw(batch);
batch.end();
}
@Override
public void dispose() {
batch.dispose();
texture.dispose();
}
@Override
public boolean pan(float x, float y, float deltaX, float deltaY) {
camera.translate(-deltaX, deltaY);
return false;
}
@Override
public boolean zoom(float initialDistance, float distance) {
float scale = initialDistance / distance;
camera.zoom = scale;
return false;
}
}
:
excpetion.
android.os.FileUriExposedException
代码:
file:///storage/emulated/0/Android/data/com.example.arkkhano.myapplication/cache/myImage.png exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
at android.net.Uri.checkFileUriExposed(Uri.java:2356)
答案 0 :(得分:0)
根据Android文档,您应该使用FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider
但是当我尝试过时,它只能在某些设备上运行,而不能在其他设备上运行。
对我来说,一种安全的方法是先将文件导出到外部存储(Environment.getExternalStorageDirectory),然后共享给其他应用。适用于我所有的设备。