Android 10 MediaStore更新映像RecoverableSecurityException

问题描述 投票:2回答:1

我正在将Android应用程序更新为作用域存储,而现在面临的问题是,在我的应用程序上,用户可以选择一组要自动处理的图像(他们可以选择覆盖原始图像)。

[问题是,当我尝试从其Uri覆盖原始图像时,Android抛出RecoverableSecurityException,它向用户显示一个对话框,要求用户同意修改该照片。

我想知道的是,是否可以改为显示一个权限对话框,但是一次显示全部10张图像,而不必为每个图像显示一个对话框。

我尝试使用applyBatchContentResolver方法(下面的代码模拟了问题),但是同意对话框仅显示第一个更新的图像。

val values = ContentValues().apply {
                put(MediaStore.Images.Media.DATE_MODIFIED, System.currentTimeMillis())
            }
            val ops = arrayListOf<ContentProviderOperation>()
            for (image in galleryImages) {
                ops.add(ContentProviderOperation.newUpdate(image.uri)
                        .withValues(values)
                        .build())
            }
            context.contentResolver.applyBatch(MediaStore.AUTHORITY, ops)

对此有何想法?谢谢。

android mediastore android-10.0 scoped-storage
1个回答
0
投票

不幸的是,在Android Q中是不可能的。但是,该团队在Android Summit 2019中表示,可以在下一个Android版本中进行批量编辑和删除,因此应该在将来的版本“ R”中进行。

© www.soinside.com 2019 - 2024. All rights reserved.