gpt4 book ai didi

android - 如何为 Android Q 打开带有特定相册或文件夹的默认图库应用程序?

转载 作者:行者123 更新时间:2023-11-30 04:53:45 27 4
gpt4 key购买 nike

我已尝试按以下代码打开图库中的特定文件夹,但它对我不起作用,并出现无法找到项目的错误。

fun openDirectoryInGallery(context: Context, directory: String) {
val intent = Intent(Intent.ACTION_VIEW)
val file = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), directory)
} else {
File(Environment.DIRECTORY_PICTURES.plus(File.separator).plus(directory))
}

intent.setDataAndType(Uri.withAppendedPath(Uri.fromFile(file), directory), "*/*")
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(context, Intent.createChooser(intent, "Open folder"), Bundle())
}

最佳答案

操作系统中从来没有对此提供支持。这是设备上安装的应用程序的问题。

从来没有要求设备具有能够响应目录的 ACTION_VIEW 的图库应用。

您的应用程序在 Android 7.0+ 上应该会因 FileUriExposedException 而崩溃,而该异常的存在正是支持 file 方案的应用程序越来越少的原因。

在 Android 10+ 上,file 方案(以及扩展名为 Uri.fromFile())毫无意义,就好像您的应用可以访问文件一样,其他应用不能。

最后,Environment.DIRECTORY_PICTURES.plus(File.separator).plus(directory) 不是有效的文件系统路径。

关于android - 如何为 Android Q 打开带有特定相册或文件夹的默认图库应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59574183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com