Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Tengo que declarar WRITE_EXTERNAL_STORAGE y READ_EXTERNAL_STORAGE?

¿Es suficiente declarar <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> o también tengo que declarar <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ? Los Javadocs omitieron esta importante información.

2 Solutions collect form web for “¿Tengo que declarar WRITE_EXTERNAL_STORAGE y READ_EXTERNAL_STORAGE?”

READ_EXTERNAL_STORAGE sólo existe a partir de Jelly Bean (Nivel 16). Según los documentos , todas las solicitudes como de Jelly Bean tienen ese permiso, incluso sin declararlo:

Proporciona acceso de lectura protegido al almacenamiento externo. En Android 4.1 por defecto todas las aplicaciones aún tienen acceso de lectura. Esto se cambiará en una versión futura para requerir que las aplicaciones explícitamente soliciten acceso de lectura utilizando este permiso. Si su aplicación ya solicita acceso de escritura, obtendrá automáticamente acceso de lectura también. Hay una nueva opción de desarrollador para activar la restricción de acceso de lectura, para que los desarrolladores prueben sus aplicaciones en contra de cómo se comportará Android en el futuro.

Por lo tanto, debe declararlo para compatibilidad futura, pero esto puede no ser el origen de su problema, a menos que esté utilizando un teléfono Jelly Bean y establezca la opción de desarrollador "Proteger almacenamiento USB" opción.

Es mejor ser explícito y declarar ambos permisos, pero declarar sólo android.permission.WRITE_EXTERNAL_STORAGE agregará automáticamente android.permission.READ_EXTERNAL_STORAGE a tu APK en el momento de la compilación.

Puede utilizar el comando aapt dump badging en un APK para ver que Android considera que el uso del permiso de escritura implica que también desea permiso de lectura.

He aquí algunos resultados de aapt para un APK mío donde declaré sólo WRITE_EXTERNAL_STORAGE en mi manifiesto:

 uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE' uses-permission:'android.permission.READ_EXTERNAL_STORAGE' uses-implied-permission:'android.permission.READ_EXTERNAL_STORAGE', 'requested WRITE_EXTERNAL_STORAGE' 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.