安卓 - 防止相机保存图片



我的代码旨在将拍摄的照片存储在特定于应用程序的目录中。但是,它也将它们存储在画廊中,这会造成很大的不便。有没有办法解决这个问题?这是我的代码:

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 内容提供程序将其提供给其他应用。但是,如果你的文件确实是你的应用专用的,则应将它们保存在应用专用目录中。

最新更新