修改媒体权限逻辑:创建checkshot文件夹,只读取该文件夹中的图片
- 修改GalleryScreen.kt中的loadImagesFromGallery函数,添加WHERE条件只读取checkshot文件夹中的图片 - 修改MergeScreen.kt中的getLatestImages函数,添加WHERE条件只读取checkshot文件夹中的图片 - 修改ImageProcessor.kt中的saveToGallery函数,将图片保存到checkshot文件夹(之前是InspectionCamera)
This commit is contained in:
@@ -274,11 +274,15 @@ private suspend fun loadImagesFromGallery(context: android.content.Context): Lis
|
|||||||
val projection = arrayOf(MediaStore.Images.Media._ID)
|
val projection = arrayOf(MediaStore.Images.Media._ID)
|
||||||
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
|
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
|
||||||
|
|
||||||
|
// 只读取checkshot文件夹中的图片
|
||||||
|
val selection = "${MediaStore.Images.Media.RELATIVE_PATH} LIKE ?"
|
||||||
|
val selectionArgs = arrayOf("%/checkshot/%")
|
||||||
|
|
||||||
context.contentResolver.query(
|
context.contentResolver.query(
|
||||||
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
||||||
projection,
|
projection,
|
||||||
null,
|
selection,
|
||||||
null,
|
selectionArgs,
|
||||||
sortOrder
|
sortOrder
|
||||||
)?.use { cursor ->
|
)?.use { cursor ->
|
||||||
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
|
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
|
||||||
|
|||||||
@@ -138,11 +138,15 @@ fun MergeScreen(
|
|||||||
val projection = arrayOf(MediaStore.Images.Media._ID)
|
val projection = arrayOf(MediaStore.Images.Media._ID)
|
||||||
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
|
val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} DESC"
|
||||||
|
|
||||||
|
// 只读取checkshot文件夹中的图片
|
||||||
|
val selection = "${MediaStore.Images.Media.RELATIVE_PATH} LIKE ?"
|
||||||
|
val selectionArgs = arrayOf("%/checkshot/%")
|
||||||
|
|
||||||
context.contentResolver.query(
|
context.contentResolver.query(
|
||||||
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
|
||||||
projection,
|
projection,
|
||||||
null,
|
selection,
|
||||||
null,
|
selectionArgs,
|
||||||
sortOrder
|
sortOrder
|
||||||
)?.use { cursor ->
|
)?.use { cursor ->
|
||||||
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
|
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
|
||||||
|
|||||||
@@ -545,7 +545,7 @@ object ImageProcessor {
|
|||||||
put(MediaStore.Images.Media.DISPLAY_NAME, fileName)
|
put(MediaStore.Images.Media.DISPLAY_NAME, fileName)
|
||||||
put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
|
put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
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)
|
put(MediaStore.Images.Media.IS_PENDING, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user