需求:应用下载音频文件不能被用户看到,拷贝和分享,因为这些音频在系统很多地方可以使用并且可以通过系统公共接口选择声音作为铃声,通知声和闹钟铃声。
针对这些需求,我们在系统data目录下创建一个节点并赋予相关应用增删该查权限,这样可以满足不能被用户看到,拷贝和分享。铃声,通知声和闹钟铃声设置是通过URI设置,但data目录不会被扫到mediaprovider数据库中。需要在mediaprovider中添加一个扫描路径:
原生代码扫描的只有system目录和oem目录
directories = new String[]{ Environment.getRootDirectory() + "/media", Environment.getOemDirectory() + "/media", };
添加data目录
directories = new String[]{ Environment.getRootDirectory() + "/media", Environment.getOemDirectory() + "/media", Environment.getDataDirectory() + "/audiotheme", };
除了这个扫描文件外还有很多权限相关问题,例如向data/audiotheme目录下创建文件夹,下载的音频放入data/audiotheme目录,其他系统接口使用该目录音频文件。。。