If you are using Marshmallow, you have to either:
- Request permissions at runtime (the user will get to allow or deny the request) or:
- The user must go into Settings -> Apps -> {Your App} -> Permissions and
grant storage access.
This is because in Marshmallow, Google completely revamped how permissions work.