【问题标题】:MediaStore: How can I get other apps to recognize my files?MediaStore:如何让其他应用程序识别我的文件?
【发布时间】: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


    【解决方案1】:

    事实证明我的代码没有任何问题。问题出在我下载的音乐播放器应用程序上。它们不会显示短的声音片段。在其中一些上,持续时间限制是可设置的,在至少另一个上,它固定为 30 秒。由于我使用短文件来测试文件发现,因此我的文件似乎没有进入 MediaStore 数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 2016-05-31
      • 2019-05-04
      • 1970-01-01
      相关资源
      最近更新 更多