android - Android 异常:cursor.getString(cursor....ColumnIndex("bucket_id")) 不能为空
问题描述
如何cursor.getString()
在 Android Q 上方调用“bucket_id”和“bucket_display_name”?我可以使用MediaStore.Images.Media.BUCKET_ID
replace 'bucket_id' 来避免这种崩溃吗?
当然,我知道我可以避免得到像下面这样的字符串,这在cursor-getstringidx-must-not-be-null得到了回答
if (cursor.getType(idx) == FIELD_TYPE_STRING) {
result = cursor.getString(idx);
}
解决方案
发生的一种情况是,在 Android Q 中,根目录中的任何媒体文件(图像、视频等),文件夹名称都将返回为 null(在内部存储的情况下)。在以前的版本中,它作为专辑名称返回为 0。只需检查返回的文件夹名称是否为 null 并分配一些默认专辑名称,我猜你就可以避免这种崩溃。
推荐阅读
- python - Telethon 在 armv6 上被取消身份验证(但不是 armv7)
- node.js - 如何将结果分成几条消息?
- javascript - 如何从json数组中获取值
- mongodb - 从嵌套数组中分页嵌入对象
- facebook - Facebook 移交协议:“页面收件箱”不可用作辅助接收方
- django-rest-framework - 当显式调用序列化程序时,是否真的需要指定序列化程序类?
- libusb - 为什么在运行 Python 2 而不是 Python 3 时使用 LibUSB 会给出“无后端错误”?
- json - 获取整个 Google 表格工作表的 JSON 定义
- ios - 无法更改使用 xib 文件 Swift 创建的按钮中的字体
- c++ - 使用 Qt 对 vtable 的未定义引用