Android - sdcard中的默认文件夹(DCIM,下载等)何时创建?

时间:2016-05-31 23:46:47

标签: android android-6.0-marshmallow android-source android-sdcard

我正在构建一个自定义的Marshmallow Android版本,我想在首次启动时将一些文件添加到sdcard - 具体来说,我希望它们同时创建DCIM,下载,正在创建铃声等。

何时创建默认文件夹结构?

1 个答案:

答案 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)