Resolver bulkInsert of Audio MediaStore not Working in Android 11

Viewed 429

I want to add audio music file to playlist. It works fine till Android 10. But after Andorid 11, it is throwing following exception:

java.lang.SecurityException: app has no access to content://media/external_primary/audio/playlists/147143
     at android.os.Parcel.createExceptionOrNull(Parcel.java:2389)
     at android.os.Parcel.createException(Parcel.java:2373)
     at android.os.Parcel.readException(Parcel.java:2356)
     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
     at android.content.ContentProviderProxy.bulkInsert(ContentProviderNative.java:574)
     at android.content.ContentResolver.bulkInsert(ContentResolver.java:2243)
     at com.audio2020.audioplayer.utils.PlaylistsUtil.addToPlaylist(PlaylistsUtil.java:216)
     at com.audio2020.audioplayer.utils.PlaylistsUtil.addToPlaylist(PlaylistsUtil.java:130)
     at com.audio2020.audioplayer.utils.MusicUtil.toggleFavorite(MusicUtil.java:371)
     at com.audio2020.audioplayer.ui.nowplaying.NowPlayingController.addToFavourite(NowPlayingController.java:779)
     at com.audio2020.audioplayer.ui.nowplaying.NowPlayingController_ViewBinding$10.doClick(NowPlayingController_ViewBinding.java:154)
     at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:18)
     at android.view.View.performClick(View.java:7575)
     at android.view.View.performClickInternal(View.java:7531)
     at android.view.View.access$3900(View.java:842)
     at android.view.View$PerformClick.run(View.java:28866)
     at android.os.Handler.handleCallback(Handler.java:938)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:264)
     at android.app.ActivityThread.main(ActivityThread.java:8262)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

I am fetching ContentUri like this in Andorid 11:

MediaStore.Audio.Playlists.Members.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY, playlistId);

Please Guide me on this. I also cant add that audio file in FavouriteList because of this

Error throws while bulkInsert :

    int numInserted = 0;
    for (int offSet = 0; offSet < size; offSet += 1000) {
        numInserted += resolver.bulkInsert(uri, makeInsertItems(songs, offSet, 1000, base));
    }
1 Answers
Related