【发布时间】:2021-05-30 14:41:31
【问题描述】:
我有一个名为 Intonia 的应用程序,最初是为旧版本的 Android 编写的。它录制音频,并将 .wav 或 .mp3 文件保存在本地目录中。目录名称基于 Environment.getExternalStorageDirectory(),在我的 Pixel 5 手机上计算为 /storage/emulated/0/Intonia。
我正在尝试使用 MediaStore API 将我的应用升级到 Android 11 的新要求。我在其他地方找到音乐文件非常成功。但是让我的文件对其他应用可见,我感到很沮丧。
当我从 Play 商店下载任何音乐播放器应用(我已经尝试了几个)时,它会识别出名为 Intonia 的“专辑”。然而,专辑仅包含 Intonia 目录中的一些文件。我看不出哪些文件反映在音乐播放器应用程序中,哪些没有。在我编写新文件后,调用MediaScannerConnection.scanFile 和/或ContentResolver.insert 似乎对这些其他应用没有任何影响。
我对 MediaStore 和底层文件结构之间的关系感到困惑。两者有什么关系?我这里一定缺少一些非常基本的东西。
【问题讨论】:
标签: android mediastore