MediaStore.MediaColumns#DATE_TAKEN 只能从 API 29 级获得吗?

Is MediaStore.MediaColumns#DATE_TAKEN only available from API level 29?

我正在尝试使用 MediaStore.Images.Media.DATE_TAKEN and getting warning from Android Studio IDE that it requires API 29 (Android Q). The official Google documentation here 说这是在 API 级别 29 中添加的。这是真的吗?

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

Android 4.4(奇巧)MediaStore

Android 5.0(棒棒糖)MediaStore

Android 6.0(棉花糖)MediaStore

Android 7.0(牛轧糖)MediaStore

Android 8.0(奥利奥)MediaStore

Android 9.0(饼图)MediaStore

谁能讲讲真相?我可以可靠地使用 API 19 岁以上的 MediaStore.Images.Media.DATE_TAKEN 吗?谢谢!

感谢this answer

Api diff for level 29可以看出,DATE_TAKEN一直都在,即使api的水平在29以下,唯一不同的是在[=27=之前] 问:这个常量在 MediaStore.Images.ImageColumns 中,但现在已移至 MediaStore.MediaColumns。同时 ImageColumns 扩展了 MediaColumns因此 lint 无法准确识别它们。

但是,值本身在移动前后并没有改变。所以你可以忽略警告。