我在应用程序的图库中使用多个照片,它可以工作。
...
result?.data?.clipData
...
val attr: BasicFileAttributes = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Files.readAttributes(
File(getFilePath(result?.data?.clipData?.getItemAt(i)?.uri!!, this.requireContext())).toPath(),
BasicFileAttributes::class.java
)
} else {
TODO("VERSION.SDK_INT < O")
}
但是,从三明治菜单中提供的应用程序(图库、文件、谷歌驱动器等)中选择照片时,我收到错误消息URI。URI符号设置%为。如何解决问题才能得到正确的URI。
java.lang.IllegalArgumentException: Invalid URI: content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F31/ORIGINAL/NONE/image%2Fjpeg/1643916033
没有找到解决办法。我使用了一个现成的库来添加画廊中的照片。
例如: