在Android上Context.getCacheDir()似乎返回一个我无法创建子目录的目录

Bry*_*ris 7 permissions android caching file subdirectory

Android不允许在cacheDir中创建子目录吗?鉴于第三方(例如advendors)肯定需要缓存他们自己的文件,我为我的缓存文件创建子目录并让我集成的第三方管理他们自己的缓存文件非常有意义.

有谁知道如何设置权限,以便您可以创建子目录?

防爆.以下代码似乎始终无法创建子目录.

File cacheDir = context.getCacheDir();
File subDir = new File(cacheDir, "subdir");
if ( !subDir.exists() ) {
    if ( !subDir.mkdirs() )
        Log.w(TAG, "Failed to create subdirectory in cache");
}
Run Code Online (Sandbox Code Playgroud)

Son*_*zhw 0

我刚刚尝试过,我在cache文件夹内成功创建了子文件夹。

我假设您可能已经获得了一个同名的文件夹,也许这就是您无法 mkdir 的原因?