【发布时间】:2020-03-18 00:33:58
【问题描述】:
我们目前正在开发一个在托管设备企业环境中运行的 android 应用程序。
现在我们尝试使用以下代码通过 Intent 选择图像:
val galleryPickerIntent = Intent(Intent.ACTION_PICK)
galleryPickerIntent.type = "image/*"
galleryPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
fragment.startActivityForResult(galleryPickerIntent, SELECT_IMAGES_INTENT_RESULT)
之后,我们通过 contentResolver 处理来自 intent.clipData 的图像,它为我们提供如下 URL:/storage/emulated/0/DCIM/Camera/IMG_20200130_113056.jpg
当我们尝试从其他配置文件访问此 URL 时,例如,该应用正在工作配置文件中运行,但用于选择的图库应用位于私人配置文件中,然后尝试访问此图像 URL 将导致访问被拒绝异常。
有没有合适的方法来解决这个问题?理想情况下,我们会允许将工作资料和私人应用程序用于图像选择。
【问题讨论】:
标签: android kotlin android-intent android-gallery android-contentresolver