【问题标题】:MediaStore - BUCKET_DISPLAY_NAME only present on API 29+?MediaStore - BUCKET_DISPLAY_NAME 仅出现在 API 29+ 上?
【发布时间】:2020-01-05 16:23:22
【问题描述】:

我计划查询 MediaStore.Images.Media.BUCKET_DISPLAY_NAME 字段,但 Android Studio 说它仅在 API 29+ 上可用。另外,Android docs 也是这么说的。

但是,我发现 this StackOverflow post 从 2017 年开始使用相同的字段。

我在这里错过了什么?

谢谢。

编辑:我也在 Android 9.0 模拟器上尝试过,效果很好。

【问题讨论】:

    标签: android mediastore android-10.0


    【解决方案1】:

    查看API diff 和当前的MediaStore source 时,我们可以看到在Android 10 (API 29) 之前,BUCKET_DISPLAY_NAME 是在MediaStore.Images.ImageColumns 内部声明的。在 API 29 上,此属性已移至 MediaStore.MediaColumns(MediaStore.Images.ImageColumns 实现),但常量的实际值是相同的。

    所以看起来它只是简单地移到了父界面,但它的值是一样的。

    【讨论】:

    • 我想知道谷歌是否正在做一些事情来避免这样的混乱。
    • 谢谢!我们遇到了类似的情况,将MediaStore.Images.ImageColumns.ORIENTATION 更改为MediaStore.MediaColumns.ORIENTATION。你有没有找到任何干净的解决方案?
    猜你喜欢
    • 2022-01-15
    • 2021-01-05
    • 2020-09-02
    • 1970-01-01
    • 2019-12-16
    • 2014-08-04
    • 2023-01-10
    • 2020-04-07
    • 2019-06-28
    相关资源
    最近更新 更多