Error de permisos en juego 2D LibGdx

  • Respuestas:0
leviatan
  • Posts del Foro: 2

22 feb. 2016 20:36:45 vía Web

Buenas. He creado un juego 2D utilizando LibGdx y en Desktop me funciona perfectamente, pero en android me salta la siguiente excepción:

[COLOR="Red"]com.badlogic.gdx.utils.GdxRuntimeException: Error writing file: highscores.dat (External)
at com.badlogic.gdx.files.FileHandle.writeString(FileHandle.java:353)
at com.badlogic.gdx.files.FileHandle.writeString(FileHandle.java:339)
at com.mygdx.game.game.HighScores.save(HighScores.java:52)
at com.mygdx.game.game.HighScores.load(HighScores.java:15)
at com.mygdx.game.pantallas.PantallaFinJuego.show(PantallaFinJuego.java:93)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.mygdx.game.pantallas.PantallaJuego$5.run(PantallaJuego.java:368)[/COLOR]
...........
...........

[COLOR="red"]Mi AndroidManifest:

android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<application
    android:allowBackup="true"[/COLOR]

......................

La clase donde da el error:

[COLOR="red"]public class HighScores {
public static String[] highscores = { "0", "0", "0" };
public static String archivoHighscores = "highscores.dat";

public static void load() {

    FileHandle arquivo = Gdx.files.external("highscores.dat");
    String linea;
    if (!arquivo.exists())
        HighScores.save();
    linea=arquivo.readString();
    highscores=linea.split(",");
    // ---- CÓDIGO ----
}

public static void engadirPuntuacion(int puntuacion) {
    boolean encontrado = false;
    int i = 0;
    load();
    while ((i < HighScores.highscores.length) && (!encontrado)) {[/COLOR]

..........................

Ya no se que hacer, he probado mil cosas y nada :(

Gracias por su atención. Un saludo

Contestar