pav*_*163 3 android mediastore android-10.0
我尝试获取所有图像。我使用这个代码:
val galleryImageUrls = mutableListOf<String>()
val columns = arrayOf(MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID)
val orderBy = MediaStore.Images.Media.DATE_TAKEN
appContext.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns,
null, null, "$orderBy DESC"
)?.use { cursor ->
while (cursor.moveToNext()) {
galleryImageUrls.add(cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)))//get Image from column index
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用 compileSdkVersion 28,则此代码有效,但不适用于 compileSdkVersion 29。您知道如何修复它吗?还是应该使用存储访问框架?
Com*_*are 11
如果我使用 compileSdkVersion 28,则此代码有效
它不会是可靠的。不能保证DATA将持有您可以使用的值。
你有什么想法我可以解决它吗?
val galleryImageUrls = mutableListOf<Uri>()
val columns = arrayOf(MediaStore.Images.Media._ID)
val orderBy = MediaStore.Images.Media.DATE_TAKEN
appContext.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns,
null, null, "$orderBy DESC"
)?.use { cursor ->
val idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID)
while (cursor.moveToNext()) {
val id = cursor.getLong(idColumn)
galleryImageUrls.add(ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3361 次 |
| 最近记录: |