Solución:
Si está ejecutando en Android 29, entonces debe usar el almacenamiento de alcance o, por ahora, puede evitar este problema usando:
android:requestLegacyExternalStorage="true"
en manifiesto en la etiqueta de la aplicación.
Sospecho que está ejecutando Android 6.0 Marshmallow (API 23) o posterior. Si este es el caso, debe implemente permisos de tiempo de ejecución antes de intentar leer / escribir almacenamiento externo.
Implemente el permiso de tiempo de ejecución para ejecutar su aplicación en Android 6.0 Marshmallow (API 23) o posterior.
o puede habilitar manualmente el permiso de almacenamiento-
Vaya a configuración> aplicaciones> “your_app_name”> haga clic en él> luego haga clic en permisos> luego habilite el almacenamiento. Eso es todo.
Pero sugiero ir al primero, que es Implementar permisos de tiempo de ejecución en su código.