尝试 select 来自不同用户个人资料库的图片
Trying to select image from gallery on a different user profile
我们目前正在开发一个 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 时,该应用程序在工作配置文件中为 运行,但用于 select 的图库应用程序为在私有配置文件中然后尝试访问此图像 URL 将导致拒绝访问异常。
有什么好的方法可以解决这个问题吗?理想情况下,我们将允许工作配置文件和私人应用程序用于图像 selection.
我找到了答案,我们正在错误地解析图像。我们从 uri 中提取了文件路径,而不是直接在其上使用 contentResolver.openInputStream 解决了我们的问题。
我们目前正在开发一个 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 时,该应用程序在工作配置文件中为 运行,但用于 select 的图库应用程序为在私有配置文件中然后尝试访问此图像 URL 将导致拒绝访问异常。
有什么好的方法可以解决这个问题吗?理想情况下,我们将允许工作配置文件和私人应用程序用于图像 selection.
我找到了答案,我们正在错误地解析图像。我们从 uri 中提取了文件路径,而不是直接在其上使用 contentResolver.openInputStream 解决了我们的问题。