Carpeta privada en almacenamiento interno / externo en android

Quiero crear una carpeta privada para los datos de mi aplicación. Esta carpeta debe eliminarse automáticamente cuando se retire la aplicación del dispositivo. De acuerdo con http://developer.android.com/training/basics/data-storage/files.html , tengo que crear una carpeta privada. Cómo puedo conseguir esto. Mi código de abajo. La carpeta no se borra cuando se quita la aplicación.

public static String getAppFilePath(Context context) { String path = ""; if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { path = Environment.getExternalStorageDirectory() .getAbsolutePath(); path += "/myFolder"; } else { ContextWrapper c = new ContextWrapper(context); path = c.getFilesDir().getPath(); } File ret = new File(path); if (!ret.exists()) { ret.mkdirs(); } return path; } 

lo estas haciendo mal.

De la documentación que usted señaló:

Si desea guardar archivos privados para su aplicación , puede adquirir el directorio apropiado llamando a getExternalFilesDir () y pasándole un nombre que indique el tipo de directorio que desee. Cada directorio creado de esta manera se agrega a un directorio principal que encapsula todos los archivos de almacenamiento externo de la aplicación, que el sistema elimina cuando el usuario desinstala su aplicación.

Por ejemplo, aquí hay un método que puede usar para crear un directorio para un álbum de fotos individual:

 public File getAlbumStorageDir(Context context, String albumName) { // Get the directory for the app's private pictures directory. File file = new File(context.getExternalFilesDir( Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs()) { Log.e(LOG_TAG, "Directory not created"); } return file; } 

Si ninguno de los nombres de subdirectorio predefinidos se ajusta a sus archivos, puede llamar getExternalFilesDir () y pasar null. Esto devuelve el directorio raíz del directorio privado de la aplicación en el almacenamiento externo.

Recuerde que getExternalFilesDir () crea un directorio dentro de un directorio que se elimina cuando el usuario desinstala su aplicación. Si los archivos que está guardando deben permanecer disponibles después de que el usuario desinstale su aplicación, por ejemplo, cuando su aplicación sea una cámara y el usuario quiera guardar las fotos, debería usar getExternalStoragePublicDirectory ().

Así que básicamente necesitas usar la función getExternalFilesDir en el ejemplo anterior para eliminarla cuando la aplicación se desinstala.


Según la documentación de getExternalFilesDir()

Parámetros

Escriba el tipo de directorio de archivos a devolver. Puede ser null para la raíz del directorio de archivos o una de las siguientes constantes para un subdirectorio: DIRECTORY_MUSIC , DIRECTORY_PODCASTS , DIRECTORY_RINGTONES , DIRECTORY_ALARMS , DIRECTORY_NOTIFICATIONS , DIRECTORY_PICTURES o DIRECTORY_MOVIES .

Por lo que aparte de los tipos predefinidos puede utilizar null para la raíz del directorio.

En palabras sencillas no puedes. No es posible porque no se puede manejar el evento después de desinstalar la aplicación.

  • Archivo abierto de Android
  • Obtener la última fecha modificada de archivos en un directorio
  • android usuario compartido id y lectura / escritura de un archivo
  • Vista no se puede resolver a un tipo
  • Archivo de selección de archivos de Android
  • Cómo establecer la posición en el hilandero?
  • Acceso root con java.io.file en Android
  • Android: ¿cómo puedo crear el objeto File desde el archivo de activos?
  • Cómo hacer referencia a un archivo en carpeta sin procesar en Android
  • Elegir diálogo de archivo
  • Uso de diferentes estilos de fuente en TextView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.