bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
cacheFile = new File(android.os.Environment.getExternalStorageDirectory(), "Android/data/"+this.getPackageName()+"/cache/");
if(!cacheFile.exists())
{
cacheFile.mkdir();
}
try {
fileOutputStream = new FileOutputStream(cacheFile);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
} catch (Exception e) {
Log.i("Error", e.getMessage());
}
}
但是我收到mnt / sdcard / Android / data / com.android.linegame / cache文件不存在的错误
答案 0 :(得分:0)
你正在使用Android的哪个版本?因为Android 2.2在mnt / sdcard中包含文件夹“Android”。但Android 4.0版本不包含“Android”文件夹。
添加以下代码:
cacheFile = new File(Environment.getExternalStorageDirectory(), "/Android/data/"+this.getPackageName()+"/cache/");
if(!cacheFile.exists()) {
cacheFile.mkdirs();
}