首页 > 解决方案 > android - 如何获取系统音频的位置

问题描述

现在,我正在避免为设备和模拟器加载系统音频,方法是查询时将它们硬编码在 SQLiteNOT LIKE ...语句中ContentResolver,但是,我发现存储系统音频的位置(如警报音和所有音频)工厂加载)在所有 android 设备中都没有标准位置。

因此,为了避免加载所有系统音频,我需要一种方法来获取这些音频所在的目录,到目前为止,我已经收集了系统音频可能所在的这些位置的数据:

"/system%",
"/storage/emulated/legacy/Ringtones/%",
"/storage/emulated/0/Ringtones%",
"/product/media/audio%"  

但是,由于这些可能还不够,有没有办法获取系统音频在 android 中所在的目录路径?

标签: javaandroidsystem

解决方案


使用MediaStore查询音频文件,然后使用AudioColumns过滤音频文件,更具体的警报声音使用IS_ALARM

正如你所说 :

我发现存储系统音频的位置在所有 android 设备中都没有标准位置。

MediaStore 是一个保存文件引用的数据库,它是一种在不同系统存储位置查询文件的解决方案。


推荐阅读