查询本地图片资源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
val mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val mContentResolver = contentResolver
val cursor: Cursor?
val projection = arrayOf(
MediaStore.MediaColumns._ID,
MediaStore.MediaColumns.DATA,
MediaStore.MediaColumns.DISPLAY_NAME,
MediaStore.MediaColumns.DATE_MODIFIED
)
//只查询jpeg和png的图片
cursor = mContentResolver.query(
mImageUri, projection,
MediaStore.MediaColumns.MIME_TYPE + "=? or " + MediaStore.MediaColumns.MIME_TYPE + "=?",
arrayOf("image/jpeg", "image/png"), MediaStore.MediaColumns.DATE_MODIFIED
)
if (cursor != null) {
val columnIndexId = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns._ID)
val columnIndexData = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)
val columnIndexName = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME)
val columnIndexDate =
cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATE_MODIFIED)
while (cursor.moveToNext()) {
val imageId = cursor.getLong(columnIndexId)
val uriImage = ContentUris.withAppendedId(mImageUri, imageId)
val filePath = cursor.getString(columnIndexData)
val fileName = cursor.getString(columnIndexName)
val datetime = cursor.getLong(columnIndexDate)
listOfAllImages.add(AlarmImage(uriImage, filePath, fileName, datetime))
}
cursor.close()
}