Use case description
I develop and maintain an audio app that stores the covers for its media as files locally (in external storage). I want to use those local files as the artwork in a MediaItem.
Proposed solution
setArtworkUri in MediaMetadata.Builder could accept Uris with the scheme file:// and content://
Alternatives considered
(1) I can convert the local cover file into a ByteArray and pass that to setArtworkData. But that solution uses more memory compared to just setting that artwork Uri.
(2) setArtworkUri somewhat works with file://-Uris ... in the sense that the correct cover is displayed in the app's Notification. But MediaDataManager throws a FileNotFoundException (Permission denied). So I guess other clients of my app will not be able to see the cover.
Use case description
I develop and maintain an audio app that stores the covers for its media as files locally (in external storage). I want to use those local files as the artwork in a
MediaItem.Proposed solution
setArtworkUriinMediaMetadata.Buildercould acceptUris with the schemefile://andcontent://Alternatives considered
(1) I can convert the local cover file into a
ByteArrayand pass that tosetArtworkData. But that solution uses more memory compared to just setting that artwork Uri.(2)
setArtworkUrisomewhat works withfile://-Uris ... in the sense that the correct cover is displayed in the app'sNotification. ButMediaDataManagerthrows aFileNotFoundException(Permission denied). So I guess other clients of my app will not be able to see the cover.