Pre-API 19, WRITE_EXTERNAL_STORAGE alone allowed both read and write. From API 19+, reading doesn't need permission. From API 23+, write permission requires runtime request. The correct answer depends on API level and use case - you may need either one or both depending on operation and Android version.