0
    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 文件不存在的错误

4

1 回答 1

0

你用的是哪个版本的安卓??因为 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();
}
于 2012-07-06T13:17:37.817 回答