SG2 通常没有 sd 卡,而是使用内部闪存作为“外部”存储。我已经用这段代码解决了这个问题:
private File initCacheDir() {
String sdState = android.os.Environment.getExternalStorageState();
File imageCacheDir;
if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {
File sdDir = android.os.Environment.getExternalStorageDirectory();
imageCacheDir = new File(sdDir, "Android/data/" + App.PACKAGE_NAME + "/files/imageCache");
}
else
imageCacheDir = context.getCacheDir();
if(!imageCacheDir.exists())
imageCacheDir.mkdirs();
return imageCacheDir;
}
请注意,此代码为您提供了缓存目录的位置,该目录通常位于 sd 卡上的 Android/data 文件夹中。
您将在此处找到如何使用 SG2 解决此问题的更多详细信息:
如何在三星和所有其他设备上获得正确的外部存储?