如何在内部存储中创建文件夹而不是android中的/storage/emulated/0?

5ssjco0h  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(614)


我正在尝试创建一个应用程序,它将在android设备的内部存储中创建一个与该应用程序同名的文件夹(像whatsapp)我一直在尝试使用“mkdir”来实现这一点。下面是我正在尝试的示例代码:

File appFolder;
    String path = Environment.getExternalStoragePublicDirectory(Environment.getRootDirectory().getParent())
            .getAbsolutePath() +"/student";

    appFolder = new File(path);

    if(!appFolder.exists()){
        boolean b = appFolder.mkdir();
    }

问题是正在“/storage/emulated/0”目录中创建文件夹。但是我希望它被创建在内部存储的根目录中,比如whatsapp(比如pic中有一个文件夹用于“拼贴制作”应用程序),我怎么能做到这一点呢?在此提前感谢您的鼎力支持。

umuewwlo

umuewwlo1#

对内部文件夹尝试以下操作:

val rootPath = context.filesDir.absolutePath
nzrxty8p

nzrxty8p2#

是的,可以创建。loc\u dir=学生

val dir= File(context.getExternalFilesDir(null), LOC_DIR) // android 9 and above
 // use context.getFilesDir() if you want in internal storage
     //dir = File(Environment.getExternalStorageDirectory(), LOC_DIR) below android 9
     // Environment.getRootDirectory() if you want in internal storage
        if(!dir.exists()) {

            file.mkdir()
            Log.d(TAG, "Dir created" + dir.path)
        }

相关问题