Android缩略图ThumbnailUtils.createImageThumbnail耗时约为contentResolver.loadThumbnail的2-10倍,Kotlin

Kotlin中,`UriUtils.uri2File`通常用于将Android内容URI转换成文件路径,以便于访问存储在设备上的图片或视频。然而,在小米Android 13系统上,如果遇到只能读取照片而无法读取视频的问题,可能是由于系统的权限管理或者API的变化。 以下是一些可能的解决方案: 1. **检查权限**:确认你的应用是否拥有读取媒体文件(包括照片和视频)的权限。在Android 10及以上版本,你需要分别授予`READ_EXTERNAL_STORAGE`和`ACCESS_MEDIA_LOCATION`权限。 ```kotlin val permission = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE) if (ContextCompat.checkSelfPermission(this, permission[0]) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, permission, REQUEST_READ_EXTERNAL_STORAGE) } ``` 2. **使用MediaStore API**:尝试使用`MediaStore` API来获取媒体信息,而不是直接依赖文件路径。这可能会绕过某些系统的限制。 ```kotlin val resolver = contentResolver val query = MediaStore.Images.Media.EXTERNAL_CONTENT_URI val cursor = resolver.query(query, null, null, null, null) while (cursor.moveToNext()) { val videoPath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)) // ...处理视频路径 } cursor.close() ``` 3. **更新兼容性库**:确保使用的库能适配Android 13的新特性,有些库可能已经针对新的系统行为进行了优化。 4. **错误日志**:添加详细的错误日志,看看在尝试读取视频时是否有异常,这有助于定位问题所在。 5. **联系小米官方支持**:如果以上都试过了还是有问题,可能是小米系统的一个特有bug,这时你可以联系小米官方的技术支持寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangphil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值