android 崩溃,android 9出现崩溃

在运行Redmi Note5设备,搭载Android9系统及MatisseVersion v0.5.3-beta2的应用中,遇到一个异常。尽管已动态申请了读写权限,但应用在尝试读取content://media/external/file内容时,仍然抛出了SecurityException,提示需要READ_EXTERNAL_STORAGE权限或grantUriPermission。异常堆栈显示问题出在ContentResolver和ContentProviderProxy的query操作上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Device: Redmi Note 5

OS: Android 9

Matisse Verison: v0.5.3-beta2

在Android 9系统下出现如下异常,使用前读写权限已经动态申请过了。

9b6a1b6b75cf5ba3215127c07fd427f9.png

at androidx.loader.content.ModernAsyncTask$3.done(ModernAsyncTask.java:33)

at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)

at java.util.concurrent.FutureTask.setException(FutureTask.java:252)

at java.util.concurrent.FutureTask.run(FutureTask.java:271)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

at java.lang.Thread.run(Thread.java:764)

Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/file from pid=15353, uid=10290 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()

at android.os.Parcel.createException(Parcel.java:1953)

at android.os.Parcel.readException(Parcel.java:1921)

at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)

at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)

at android.content.ContentProviderProxy.query(ContentProviderProxy.java:418)

at android.content.ContentResolver.query(ContentResolver.java:804)

at android.content.ContentResolver.query(ContentResolver.java:753)

at androidx.core.content.ContentResolverCompat.a(ContentResolverCompat.java:25)

at androidx.loader.content.CursorLoader.y(CursorLoader.java:36)

at com.zhihu.matisse.internal.loader.AlbumLoader.y(AlbumLoader.java:0)

at com.zhihu.matisse.internal.loader.AlbumLoader.y(AlbumLoader.java:0)

at androidx.loader.content.AsyncTaskLoader.z(AsyncTaskLoader.java:0)

at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:60)

at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:60)

at androidx.loader.content.ModernAsyncTask$2.call(ModernAsyncTask.java:18)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

... 3 more

java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/file from pid=15353, uid=10290 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()

at android.os.Parcel.createException(Parcel.java:1953)

at android.os.Parcel.readException(Parcel.java:1921)

at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)

at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)

at android.content.ContentProviderProxy.query(ContentProviderProxy.java:418)

at android.content.ContentResolver.query(ContentResolver.java:804)

at android.content.ContentResolver.query(ContentResolver.java:753)

at androidx.core.content.ContentResolverCompat.a(ContentResolverCompat.java:25)

at androidx.loader.content.CursorLoader.y(CursorLoader.java:36)

at com.zhihu.matisse.internal.loader.AlbumLoader.y(AlbumLoader.java:0)

at com.zhihu.matisse.internal.loader.AlbumLoader.y(AlbumLoader.java:0)

at androidx.loader.content.AsyncTaskLoader.z(AsyncTaskLoader.java:0)

at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:60)

at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:60)

at androidx.loader.content.ModernAsyncTask$2.call(ModernAsyncTask.java:18)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

at java.lang.Thread.run(Thread.java:764)```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值