首页 文章

避免图库在Android中保存使用相机拍摄的照片

提问于
浏览
2

我有一个应用程序,允许用户使用手机的原生相机拍照,我不想实现相机的所有功能(我不想失去自动对焦,闪光灯或其他一些属性,原生相机可能有)所以我打这个电话:

File folder = new File(Environment.getExternalStorageDirectory(),"folder");
    folder.mkdirs();
    File nomedia = new File(folder,".nomedia");
    try{
        nomedia.createNewFile();
    }catch (IOException e){
        e.printStackTrace();
        Log.e("error", e.getMessage());
    }

    File file = new File(folder,"image.jpeg");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
    imageUri = Uri.fromFile(file);
    if(imageUri != null){   
        Log.i(TAG, "imageUri: " + imageUri.getPath());
        imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
     }

然后在一个按钮中我执行了意图:

startActivityForResult(imageIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

这很完美,打开相机,我拍照时收到回调,如果我查看手机文件浏览器的文件夹,我可以看到图片以及我创建的“.nomedia”文件 .

问题是我不希望相机将这个图像存储在手机的图库中,因为,不知怎的,这是“神奇地”;)添加到Android的图库,我想添加“.nomedia”文件和在单独的文件夹中创建图片,图库不会扫描它 . 这个想法是图片仅供内部使用 .

无论如何避免这种情况?我真的搜索并尝试了许多不同的方法,但我无法解决它 .

我希望我清楚解释 .

提前致谢!

1 回答

  • 3

    我找到了这个解决方案:Stop saving photos using Android native camera

    我们的想法是在拍摄照片之前检查图库中的文件,然后删除那个文件 .

    这不是最干净的解决方案,但它有效 .

相关问题