2011-02-07 11 views
12

Estoy desarrollando una aplicación en la que deseo permitir que el usuario pueda configurar que si no inicia sesión después de un par de intentos en la aplicación, eliminará automáticamente todos los datos, incluidos las preferencias y bases de datos.Borrar mis propios datos de aplicaciones programáticamente

Hay una manera simple de hacer esto o tengo que escribir código para restablecer manualmente todo lo que usa la aplicación.

Gracias por cualquier ayuda con esto

Respuesta

6

¿Hay una manera simple de hacer esto o tengo que escribir código para restablecer manualmente todo lo que utiliza la aplicación.

Debes escribir el código para restablecer manualmente todo lo que usa la aplicación. Esto debería ser solo una cuestión de eliminar un puñado de archivos. Asegúrese de que su base de datos esté cerrada antes de intentar eliminarla.

+0

gracias frías por la ayuda, pensaron que podría ser el caso – Boardy

+0

Puede consultar el enlace y se le mostrará una manera sencilla de borrar los datos http://stackoverflow.com/a/42228794/1252158 –

9

prueba este código.

public void clearApplicationData() { 
    File cache = getCacheDir(); 
    File appDir = new File(cache.getParent()); 
    if (appDir.exists()) { 
     String[] children = appDir.list(); 
     for (String s : children) { 
      if (!s.equals("lib")) { 
       deleteDir(new File(appDir, s)); 
       Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************"); 
      } 
     } 
    } 
} 

public static boolean deleteDir(File dir) { 
    if (dir != null && dir.isDirectory()) { 
     String[] children = dir.list(); 
     for (int i = 0; i < children.length; i++) { 
      boolean success = deleteDir(new File(dir, children[i])); 
      if (!success) { 
       return false; 
      } 
     } 
    } 

    return dir.delete(); 
} 
+0

¿cuál es & &? –

+0

@HeenaArora significa && –

Cuestiones relacionadas