我的代码旨在将拍摄的照片存储在特定于应用程序的目录中。但是,它也将它们存储在画廊中,这会造成很大的不便。有没有办法解决这个问题?这是我的代码:
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
photoFile = null;
try {
photoFile = createImageFile(1);
} catch (IOException e) {
// Error occurred when creating a file
System.out.println(e.getLocalizedMessage());
}
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
onActivityResult
方法:
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch(requestCode)
{
case REQUEST_IMAGE_CAPTURE:
if(resultCode == RESULT_OK)
{
ImageView img;
if (orientation == 1) {
img = (ImageView) findViewById(R.id.image_front);
} else {
img = (ImageView) findViewById(R.id.image_side);
}
img.setImageURI(Uri.fromFile(photoFile));
}
break;
}
}
提前谢谢。
在保存图像的文件夹中创建一个名为 .nomedia 的空文件。
来自安卓文档:
对媒体扫描程序隐藏文件
在外部文件目录中包含一个名为 .nomedia 的空文件(请注意文件名中的点前缀)。这会阻止媒体扫描程序读取您的媒体文件并通过 MediaStore 内容提供程序将其提供给其他应用。但是,如果你的文件确实是你的应用专用的,则应将它们保存在应用专用目录中。