尝试在某些设备上的context.getExternalCacheDir()
或context.getCacheDir()
等缓存目录中下载文件,导致Permission Denied
错误;
引用这些人(https://www.youtube.com/watch?v=5xVh-7ywKpE&t=1580s)我不需要请求访问我的应用程序的缓存目录的权限
我从华为4x获得的错误消息:
java.io.FileNotFoundException: /storage/3C11-1816/Android/data/{my app package}/cache/194751d974025fd4109902d9600b6a09.mp3: open failed: EACCES (Permission denied)
我该如何解决这个问题?
这是我的目录提供商,我下载文件
public File provide() {
File external = mContext.getExternalCacheDir();
File cacheDir = external != null ? external : mContext.getCacheDir();
if (!cacheDir.exists()) {
cacheDir.mkdirs();
}
return cacheDir;
}