【问题标题】:Android - When are the default folders (DCIM, Downloads, etc.) in the sdcard created?Android - 何时创建 SD 卡中的默认文件夹(DCIM、下载等)?
【发布时间】:2016-06-01 12:42:16
【问题描述】:

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

默认文件夹结构是什么时候创建的?

【问题讨论】:

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


    【解决方案1】:

    虽然理论上您可以通过对字符串进行全文搜索来找到这类事情,但在数 GB 的代码库上这可能需要一段时间,因此有助于对查找位置进行一些很好的猜测。

    事实证明,默认文件夹是在位于 packages/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)
    

    【讨论】:

      猜你喜欢
      • 2016-04-18
      • 2012-09-20
      • 1970-01-01
      • 2018-05-18
      • 2012-01-27
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多