我的代码旨在存储仅在特定于应用程序的目录中拍摄的照片。但是,它也将它们存储在画廊中,这会造成很大的不便。有办法解决这个问题吗?这是我的代码:
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;
}
}
提前致谢。
答案 0 :(得分:0)
在保存图像的文件夹中创建一个名为.nomedia的空文件。
隐藏Media Scanner中的文件
在外部文件目录中包含名为.nomedia的空文件(请注意文件名中的点前缀)。这可以防止媒体扫描程序读取您的媒体文件,并通过MediaStore内容提供商将其提供给其他应用程序。但是,如果您的文件真正属于您的应用程序,则应将其保存在app-private目录中。