修改媒体权限逻辑:创建checkshot文件夹,只读取该文件夹中的图片

- 修改GalleryScreen.kt中的loadImagesFromGallery函数,添加WHERE条件只读取checkshot文件夹中的图片
- 修改MergeScreen.kt中的getLatestImages函数,添加WHERE条件只读取checkshot文件夹中的图片
- 修改ImageProcessor.kt中的saveToGallery函数,将图片保存到checkshot文件夹(之前是InspectionCamera)
This commit is contained in:
2026-03-20 22:13:40 +08:00
parent 033e5c24cd
commit 2687aabae5
3 changed files with 13 additions and 5 deletions

View File

@@ -274,11 +274,15 @@ private suspend fun loadImagesFromGallery(context: android.content.Context): Lis
val projection = arrayOf(MediaStore.Images.Media._ID)
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
// 只读取checkshot文件夹中的图片
val selection = "${MediaStore.Images.Media.RELATIVE_PATH} LIKE ?"
val selectionArgs = arrayOf("%/checkshot/%")
context.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection,
null,
null,
selection,
selectionArgs,
sortOrder
)?.use { cursor ->
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)

View File

@@ -138,11 +138,15 @@ fun MergeScreen(
val projection = arrayOf(MediaStore.Images.Media._ID)
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
// 只读取checkshot文件夹中的图片
val selection = "${MediaStore.Images.Media.RELATIVE_PATH} LIKE ?"
val selectionArgs = arrayOf("%/checkshot/%")
context.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection,
null,
null,
selection,
selectionArgs,
sortOrder
)?.use { cursor ->
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)

View File

@@ -545,7 +545,7 @@ object ImageProcessor {
put(MediaStore.Images.Media.DISPLAY_NAME, fileName)
put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES + "/InspectionCamera")
put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES + "/checkshot")
put(MediaStore.Images.Media.IS_PENDING, 1)
}
}