Almacenamiento de datos en / externalsdcard / Android / datos / <app package name> en KITKAT

He leído mucho acerca de KITKAT y la prevención de la escritura a la secundaria externa sdcard. Parece ser una nueva política de google. También leí sobre cómo almacenar los datos de la aplicación en / externalsdcard / Android / data /.

Ahora mi pregunta, porque no puedo reproducir o probar: Si la aplicación no está autorizada a escribir datos directamente bajo <secundary external sdcard>, ¿Entonces será posible almacenar los datos de la aplicación en <secundary external sdcard> / Android / data / <Nombre del paquete de aplicación>?

Si es posible. ¿Podría alguien compartir un código de ejemplo?

One Solution collect form web for “Almacenamiento de datos en / externalsdcard / Android / datos / <app package name> en KITKAT”

  • Nunca asuma que el almacenamiento secundario extraíble es más grande que el interno primario. En la mayoría de los dispositivos modernos de almacenamiento interno puede ser de hasta 64 GB, pero la tarjeta SD puede ser tan pequeño como 1 MB de gran tamaño (si el usuario insertó la tarjeta pequeña y vieja).

  • No hay manera de distinguir cuál es "externo" usando las API actuales.

Así que la manera correcta es usar Context.getExternalFilesDirs () que devuelve todos los almacenes externos a los que se pueden almacenar archivos específicos de la aplicación sin ningún permiso.

Utilice StatFs para encontrar el almacenamiento más grande disponible y escriba datos en él.

final File[] dirs = context.getExternalFilesDirs(null); //null means default type //find a dir that has most of the space and save using StatFs 

Como dice la documentación,

Devuelve rutas absolutas a los directorios específicos de la aplicación en todos los dispositivos de almacenamiento externos donde la aplicación puede colocar los archivos persistentes que posee. Estos archivos son internos a la aplicación y normalmente no son visibles para el usuario como medios.

Esto es como getFilesDir () en que estos archivos se eliminarán cuando la aplicación se desinstale, sin embargo, hay algunas diferencias importantes:

Los archivos externos no siempre están disponibles: desaparecerán si el usuario monta el almacenamiento externo en una computadora o lo elimina. No hay seguridad reforzada con estos archivos.

Los dispositivos de almacenamiento externos que se devuelven aquí se consideran una parte permanente del dispositivo, incluyendo tanto el almacenamiento externo emulado como las ranuras de los medios físicos, como las tarjetas SD en el compartimento de la batería. Las rutas devueltas no incluyen dispositivos transitorios, como unidades flash USB.

Una aplicación puede almacenar datos en cualquiera o todos los dispositivos devueltos. Por ejemplo, una aplicación puede optar por almacenar archivos grandes en el dispositivo con el espacio más disponible, según lo miden StatFs.

No se requieren permisos para leer o escribir en las rutas devueltas; Siempre son accesibles para la aplicación que llama. El acceso de escritura fuera de estas rutas en dispositivos de almacenamiento externos secundarios no está disponible.

La primera ruta devuelta es la misma que getExternalFilesDir (String). Las rutas devueltas pueden ser nulas si un dispositivo de almacenamiento no está disponible.

  • Cómo configurar mi aplicación sms por defecto en Android Kitkat?
  • Android 4.3+, android: textColorHint no funciona, el color de pista es siempre blanco
  • Cómo encontrar bluetooth mac dirección de forma programática en Android api nivel 19
  • Uso del Kit Kat DatePicker en el dispositivo Lolipop
  • Android 4.4 KitKat cromo Error: No implementado virtual void android_webview :: AwAutofillManagerDelegate :: UpdateAutofillPopupDataListValues
  • ¿Cuál es el concepto detrás de "Lost RAM" que aparece en el meminfo de Dumpsys?
  • Ejecución de múltiples instancias de la misma aplicación en kitkat android
  • Android KitKat securityException al intentar leer de MediaStore
  • API de Valoración de KitKat de Android 4.4
  • De ancho: 100% en CSS no bien renderizado en Android 4.4
  • SSL cambios en android kitkat mantener la conexión de trabajo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.