试图从其他用户个人资料上的图库中选择图像

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

我们目前正在开发在受管设备企业环境中运行的android应用。

现在,我们尝试使用以下代码通过意图选择图像:

val galleryPickerIntent = Intent(Intent.ACTION_PICK)
galleryPickerIntent.type = "image/*"
galleryPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)

fragment.startActivityForResult(galleryPickerIntent, SELECT_IMAGES_INTENT_RESULT)

[随后,我们通过intent.clipData中的contentResolver处理图像,该图像为我们提供了这样的URL:/storage/emulated/0/DCIM/Camera/IMG_20200130_113056.jpg

例如,当我们尝试从其他配置文件访问此URL时,该应用程序正在工作配置文件中运行,但用于选择的图库应用程序位于私有配置文件中,然后尝试访问该图像URL将导致访问拒绝例外。

是否有解决此问题的正确方法?理想情况下,我们允许将工作资料和私人应用程序用于图像选择。

android kotlin android-intent android-gallery android-contentresolver
1个回答
0
投票

我找到了答案,我们没有正确解析图像。我们从uri中提取了filePath,而不是直接在其上使用contentResolver.openInputStream解决了我们的问题。

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