【发布时间】:2021-08-10 12:33:42
【问题描述】:
我想将音频音乐文件添加到播放列表。在 Android 10 之前它可以正常工作。但在 Andorid 11 之后,它会抛出以下异常:
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)
我在 Andorid 11 中像这样获取 ContentUri:
MediaStore.Audio.Playlists.Members.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY, playlistId);
请指导我。因此,我也无法在FavouriteList 中添加该音频文件
bulkInsert 时抛出错误:
int numInserted = 0;
for (int offSet = 0; offSet < size; offSet += 1000) {
numInserted += resolver.bulkInsert(uri, makeInsertItems(songs, offSet, 1000, base));
}
【问题讨论】:
标签: android media-queries media q mediastore