Pregunta

En mi aplicación de Android, me gustaría poder copiar un archivo de solo lectura y que la nueva versión también sea de solo lectura.

El uso del método setReadOnly() en el archivo de destino solo devuelve falso, lo que muestra que falló y, por supuesto, verificar el archivo en sí muestra que no tiene establecido el atributo de solo lectura.

--editar-- Como sugiere David Given a continuación, esto solo se aplica a los archivos en la tarjeta SD.Los archivos internos se comportarán apropiadamente con setReadOnly().

Mi archivo de manifiesto tiene la línea<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> y puedo realizar todo tipo de operaciones con archivos con éxito en mi aplicación.

Al buscar una solución, he visto a un par de personas que utilizan comandos de Linux y han dicho que esta es una forma "sucia" de hacerlo, entonces, ¿hay una forma alternativa "limpia" disponible para nosotros?

La aplicación que estoy escribiendo usa Android 2.1 si eso es relevante.

¿Fue útil?

Solución

No creo que la tarjeta SD admita atributos de archivo como este.Creo que solo puedes hacer que los archivos sean de solo lectura en el almacenamiento interno.(Porque la tarjeta SD usa un sistema de archivos FAT, pero el almacenamiento interno usa un sistema de archivos Linux adecuado).

comprobar el resultado de setReadOnly() y ver si regresa true o false.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top