MediaStore.MediaColumns#DATE_TAKEN 只能从 API 级别 29 开始使用吗?

2024-02-05

我正在尝试使用MediaStore.Images.Media.DATE_TAKEN https://developer.android.com/reference/android/provider/MediaStore.MediaColumns#DATE_TAKEN并从 Android Studio IDE 收到警告,提示它需要 API 29 (Android Q)。谷歌官方文档here https://developer.android.com/reference/android/provider/MediaStore.MediaColumns#DATE_TAKEN说这是在 API 级别 29 中添加的。这是真的吗?

我检查了过去版本的 Google 来源,一直到 API 19 (KitKat),我看到 MediaStore.MediaColumns#DATE_TAKEN 字段从那时起就可用。为什么官方文档说的不一样?

安卓 4.4(奇巧)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/kitkat-release/core/java/android/provider/MediaStore.java

安卓 5.0(棒棒糖)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/lollipop-release/core/java/android/provider/MediaStore.java

安卓 6.0(棉花糖)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/marshmallow-release/core/java/android/provider/MediaStore.java

安卓 7.0(牛轧糖)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/nougat-release/core/java/android/provider/MediaStore.java

安卓 8.0(奥利奥)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/oreo-release/core/java/android/provider/MediaStore.java

安卓 9.0(饼图)媒体商店 https://android.googlesource.com/platform/frameworks/base/+/refs/heads/pie-release/core/java/android/provider/MediaStore.java

有人可以澄清一下真相吗?我可以可靠地使用吗MediaStore.Images.Media.DATE_TAKEN https://developer.android.com/reference/android/provider/MediaStore.MediaColumns#DATE_TAKEN从 API 19+ 开始?谢谢!


谢谢这个答案 https://stackoverflow.com/a/57762138/9150068.

来自29 级的 API 差异 https://developer.android.com/sdk/api_diff/29-incr/changes,我们可以看到DATE_TAKEN一直都在那里,即使 api 级别低于 29。唯一的区别是,在 Android Q 之前,这个 const 位于MediaStore.Images.ImageColumns但被转移到MediaStore.MediaColumns目前为止。同时ImageColumns延伸MediaColumns. 所以lint无法准确识别它们。

但是,该值本身在移动前后不会发生变化。所以你可以忽略这个警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MediaStore.MediaColumns#DATE_TAKEN 只能从 API 级别 29 开始使用吗? 的相关文章

随机推荐

  • Swagger 是什么?它与 OData 相关吗?

    我熟悉 Microsoft 堆栈 我正在使用 OData 来提供一些宁静的服务 最近 我遇到了 Swagger API 文档 我试图了解它与 OData 的关系 两者看起来都是RESTful规范 哪一种被广泛使用 Swagger是一个规范记
  • strip 函数删除哪些特定字符?

    您可以在以下位置找到以下内容 str strip文档 https docs python org 3 library stdtypes html str strip The charsargument 是一个字符串 指定要删除的字符集 如果
  • 使用 Python 正则表达式匹配尾部斜杠

    我尝试像这样匹配尾随 type re match u https x x x
  • Android:ViewFlipper 和多个图像?

    嘿 我检查了大量的教程和指南 但不知何故找不到它 我需要在我的 Android 应用程序中包含多个图像 它就像一个图像查看器 幻灯片 目前 我只需使用 ImageView 和适配器 使用左 右手势在 drawable mdpi 目录中的图片
  • 如何从 Delphi 访问 Cassandra 分布式数据库

    我正在研究 Cassandra 是否可以作为我们服务器软件的分布式数据库存储的选择 服务器软件是用 Delphi 编写的 但我很难找到如何从 Delphi 访问 Cassandra 数据库的描述 一个建议SO的其他地方 https stac
  • 如何处理 redux saga 中的请求数组

    我正在尝试从我的反应本机应用程序上传多个文件 它正在给予Unexpected Tokenyield 语句错误 是否可以做yield在循环内 files map fileOb gt const response yield call File
  • 如何在 XCode 中获取文本字段的文本

    我用界面生成器制作了一个文本字段 我怎样才能让它的文本在其他地方使用 有没有类似的东西 string text myTextField Text 如果是这样 我该如何命名我的文本字段 因此 您要做的第一件事是在与 xib 文件关联的视图控制
  • 如何将 GUD 断点键绑定更改为旧的键绑定

    目前 我在最新版本的 Emacs 中使用 GUD 自旧版 Emacs 以来 键绑定已经发生了变化 现在设置断点是 C x C a C b 但它是 C 空格 我想知道是否有办法将键绑定更改为旧格式 由于某种原因我无法更改我的 Emacs 版本
  • 调整 select 方法以接受多个参数

    我需要实现一个方法select 可以绑定一个或多个参数和另一种方法 该方法将结果返回到index php 从index php调用所需的代码 echo this gt results gt korisnik id 这是需要实现的数据库类se
  • 隐藏固定透明标题下的滚动内容,滚动背景

    假设我有一个背景图像 一个带有透明部分的固定标题图像 一个带有半透明背景的内容 div 以及传统页眉 内容 页脚布局中的动态高度 我试图实现的效果 在固定标题下滚动背景和内容 隐藏内容并显示背景 我读过很多相关主题 例如隐藏透明标题下的滚动
  • 应该使用哪个 EncodeFor 进行定位?

    Which EncodeFor应该使用location 如果我想通过位置推送一些数据 它应该是什么样子 location obtainBDK cfm message ErrorMessage false nothing OR locatio
  • 从 SQLite 数据库中删除指定数量的行

    我尝试使用以下语句从数据库中删除 6 行 但出现如下错误 getWritableDatabase execSQL DELETE FROM tblname ORDER BY id ASC LIMIT 6 Error 引起原因 android
  • 集合并查找算法

    我有数千行 1 到 100 个数字 每行定义一组数字以及它们之间的关系 我需要获取相关数字的集合 小例子 如果我有这7行数据 T1 T2 T3 T4 T5 T6 T1 T5 T4 T3 T4 T7 我需要一个不太慢的算法来知道这里的集合是
  • Chrome 扩展程序中的页面加载事件

    我想在 Chrome 浏览器页面完全加载后检查其内容中的一些值 像那样 if document body innerText indexOf Cat 1 我可以在何时何地进行支票 请给我一个明确的例子 我读了一些关于 Background
  • 如何向 Symfony 2.1 添加命名空间?

    我有一个使用命名空间的第三方库 我想将其添加到供应商目录中 由于某些原因 我无法为此库使用作曲家 使用 ClassLoader 的 add 方法添加它对我不起作用 找不到类 详细地 我正在使用 Symfony 2 1 7 app autol
  • 在管理控制台上删除 reCAPTCHA 站点

    很简单 我觉得某个地方有一个我没有看到的设置或按钮 我有一个使用 reCAPTCHA 注册的网站列表 我想在管理控制台上删除一个 我该怎么做 当我进入其中一个网站的设置时 似乎没有办法删除 我是对的 有一个删除按钮我没有看到 单击顶部的齿轮
  • Backbone.js 悬停事件未触发

    我第一次尝试使用 Backbone js 但遇到了一些问题 我不知道我的问题是否是我不理解主干应该如何工作 或者这只是一个代码问题 我正在尝试创建一个动态菜单 并且使用其项目创建主菜单栏没有问题 但每当我悬停其中一个菜单项时 我都无法触发悬
  • 使用 axWindowsMediaPlayer 播放两个视频

    我尝试播放jpg 循环 单击mp4后应该在结束后播放 该jpg应该再次播放 我不知道为什么 但在 axWindowsMediaPlayer1 PlayStateChange 中播放 vido 后 播放然后停止 帮助 using System
  • Jenkins DSL 插件:如何在现有的 jenkins 视图中创建作业?

    我发现以下有关创建作业以及使用 DSL 插件添加到新创建的视图的问题 将作业添加到新创建的视图中 https stackoverflow com questions 22021763 create a job dsl that create
  • MediaStore.MediaColumns#DATE_TAKEN 只能从 API 级别 29 开始使用吗?

    我正在尝试使用MediaStore Images Media DATE TAKEN https developer android com reference android provider MediaStore MediaColumns