0

我正在尝试将位图保存到文件中。该代码在一台设备(Nexus S)上运行良好,但我在FileNotFoundException三星 S 3 上运行良好。它们都运行 Android 版本 4.1.2。这是我正在使用的代码:

                File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "MyApp");
                String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
                File file = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
Bitmap bitmap = mImageView.getDrawingCache();
                try {
                    bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream(file));
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

这段代码没什么特别的。任何想法为什么它不能在 S3 上运行?谢谢。

4

1 回答 1

0

是否进行了一些深入的文档阅读,并且显然 Environment.DIRECTORY_PICTURES 可能不一定存在,因此我们必须明确检查:

    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "MyApp");
                    if(!mediaStorageDir.exists()) {
                        mediaStorageDir.mkdirs();
                    }
于 2013-11-12T22:57:20.357 回答