getExternalStorageDirectory不会将文件保存到SdCard

时间:2016-07-18 18:06:40

标签: java android camera

我正在撰写的相机应用具有WRITE_EXTERNAL_STORAGEREAD_EXTERNAL_STORAGE两种权限。

我使用getExternalStorageDirectory()方法将文件写入SD卡的主目录。我没有在模拟器上运行它。我的设备为Xperia Z3CAndroid 6.0.1

当我有getExternalStorageDirectory()给出的路径为"/storage/emulated/0/".

然后将文件保存在内部存储主目录中。

 private static File getOutputMediaFile(int type){



        File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "Flash");
        Log.d("adasd", mediaStorageDir.getAbsolutePath());



        if (! mediaStorageDir.exists()){
            if (! mediaStorageDir.mkdirs()){
                Log.d("MyCameraApp", "failed to create directory");
                return null;
            }
        }


        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
        File mediaFile;
        if (type == MEDIA_TYPE_IMAGE){
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                    "IMG_"+ timeStamp + ".jpg");
        } else if(type == MEDIA_TYPE_VIDEO) {
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                    "VID_"+ timeStamp + ".mp4");
        } else {
            return null;
        }

        return mediaFile;
    }

0 个答案:

没有答案