如何打开默认的Android Gallery来显示我存储在应用程序内部存储文件夹中的一些图像,例如data.com.myapp.appname.files.images
?
我已经尝试了几个ActivityResultContract
,但我要么得到一个文件资源管理器来选择媒体文件,要么打开画廊,我得到Access Denied
,尽管我在创建URI时已经通过了authority
。
然而,我可以成功地查看一个单一的图片从内部存储,如果我改变了URI的内部文件夹,它将启动画廊,但只会显示一个空白图片(一个空图片与灰色背景)。
这是可行的吗?
代码示例:
val intent = Intent(Intent.ACTION_VIEW)
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setDataAndType(
FileProvider.getUriForFile(
requireContext(),
"com.company.ApplicationName.provider",
fileAccessModule.getInternalImagesDir()
), "image/*"
)
startActivity(intent)
1条答案
按热度按时间9jyewag01#
如何打开默认的Android图库以显示我存储在应用程序内部存储文件夹中的一些图像,例如data.com.myapp.appname.files.images?
首先,没有单一的“默认Android图库”。数以万计的Android设备型号预装了数百种不同的图库式应用。而且,用户可以从Play商店和其他地方安装更多图库式应用。
他们都无法访问您的图像。您将这些图像放置在应用的私有位置。one of these libraries可能支持将私有图像目录作为数据源。
我可以从内部存储器成功查看单张图片
您正在使用
FileProvider
。这适用于文件。它不适用于目录。