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

7
Android不允许在cacheDir中创建子目录吗?考虑到第三方(如广告商)肯定需要缓存自己的文件,因此我创建一个子目录来管理我的缓存文件,并让我集成的第三方自行管理他们的缓存文件是非常有意义的。
请问是否有人知道如何设置权限以便于创建子目录?
例如,以下代码似乎总是无法创建子目录。
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");
}

你是如何确定“Context.getCacheDir() 似乎返回一个不能在其中创建子目录的目录”? - CommonsWare
mkdir(s) 返回 false,我尝试在子目录中创建的任何文件都不在那里(尽管没有抛出任何 IOExceptions)。 - Bryant Harris
发一些代码。据我所知,在 getCacheDir() 中创建子目录没有限制。 - CommonsWare
嘿,Bryant Harris,你有找到任何解决方案吗? - Chitrang
据我所知,Android不允许在缓存目录中创建子目录。Chitrang - Bryant Harris
1个回答

0

我刚试了一下,在cache文件夹里成功创建了子文件夹。

我猜可能是因为你已经有一个同名的文件夹了,所以才无法创建mkdir?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接