2010-04-30 13 views

Respuesta

2

Creo que desea encriptar el archivo. Mientras que el archivo todavía se puede mover, será inútil para cualquier cosa que no sea su aplicación. Las personas podrán copiar, mover, eliminar, pero los contenidos no se verán comprometidos.

5

No puede hacer esto en cualquier plataforma (y mucho menos en Android) usando una tarjeta SD normal. ¡Lo siento!

7

No hay forma de lock a file en Android; incluso si lo hubiera, los archivos solo se bloquearían cuando tu aplicación se ejecutara, lo que no detendría a otras aplicaciones que accedan al archivo cuando el usuario no haya iniciado tu aplicación.

Las tarjetas SD generalmente se formatean con FAT (o FAT32) y este es el caso de Android. FAT ofrece permisos de archivo muy limitados por lo que no puede restringir el acceso a los archivos de esta manera. Nuevamente, incluso si pudiera hacer algo como esto, esto no ofrecería ninguna protección si el usuario sacara la tarjeta SD de su teléfono y la pusiera en su PC.

Si desea mantener los archivos privados de su aplicación, debe ponerlos en el almacenamiento interno del teléfono en el área reservada para su aplicación. Cada aplicación se ejecuta con una ID de usuario diferente y el directorio de datos de cada aplicación está protegido con permisos de archivos de estilo UNIX, lo que impide que otras aplicaciones los lean. Por lo tanto, aunque esto detendrá el acceso de otras aplicaciones a sus archivos, no detendría a un usuario razonablemente determinado con acceso raíz a que su teléfono los copiara.

Eche un vistazo a los métodos Context.openFileInput(), Content.openFileOutput() y Context.getFilesDir() para obtener detalles sobre cómo almacenar archivos en el almacenamiento interno del teléfono.

Cuestiones relacionadas