我正在构建一个自定义的Marshmallow Android版本,我想在首次启动时将一些文件添加到sdcard - 具体来说,我希望它们同时创建DCIM,下载,正在创建铃声等。
何时创建默认文件夹结构?
答案 0 :(得分:2)
虽然理论上你可以通过对一个字符串进行全文搜索来找到这种东西,这可能需要一段时间才能在一个千兆字节的代码库上进行,所以有一些很好的猜测可以看看。
事实证明,默认文件夹是在package / providers / MediaProvider中的MediaProvider.Java中创建的
根据Android的特定版本,该方法可能被称为ensureDefaultFolders()或createDefaultFolders()或其他。例如:
private static final String[] sDefaultFolderNames = {
Environment.DIRECTORY_MUSIC,
Environment.DIRECTORY_PODCASTS,
Environment.DIRECTORY_RINGTONES,
Environment.DIRECTORY_ALARMS,
Environment.DIRECTORY_NOTIFICATIONS,
Environment.DIRECTORY_PICTURES,
Environment.DIRECTORY_MOVIES,
Environment.DIRECTORY_DOWNLOADS,
Environment.DIRECTORY_DCIM,
};
/**
* Ensure that default folders are created on mounted primary storage
* devices. We only do this once per volume so we don't annoy the user if
* deleted manually.
*/
private void ensureDefaultFolders(DatabaseHelper helper, SQLiteDatabase db)