我不明白为什么有些人说将文件保存在外部存储器是安全的,因为当我使用这段代码时,检查我的SD卡并没有发现文件。
以下是这段代码:
OutputStream imageFileOS;
int imageNum = 0;
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "Punch");
if(!imagesFolder.exists()){
imagesFolder.mkdirs(); // <----
}
String fileName = "image_" + String.valueOf(imageNum) + ".jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
imageNum++;
fileName = "image_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(output);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
当我运行代码并检查时,它在“内部存储器/图片/打卡/image_0.jpg”中有文件,但在SD卡中看不到(SD卡=外部存储卡16 GB)。请帮助我。
Environment.DIRECTORY_PICTURES
中的内容,可能会显示您的本地路径。 - Laser