我正在使用以下代码拍照:

private static final int TAKE_PHOTO_CODE = 1;

final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tFile));
startActivityForResult(intent, TAKE_PHOTO_CODE);


这段代码可以正常工作,但是我得到的每张照片的副本都会自动出现在“ Camera Shots”图库中以及要放到哪里。

如何停止自动复制图片?

该文件名甚至与我指定的文件名都不相同,因此我不容易删除它。

谢谢你的帮助!

最佳答案

我找到了答案。

跟随功能删除保存到媒体存储中的最后一张照片。

public void deleteLastCapturedImage() {
    String[] projection = {
            MediaStore.Images.ImageColumns.SIZE,
            MediaStore.Images.ImageColumns.DISPLAY_NAME,
            MediaStore.Images.ImageColumns.DATA,
            BaseColumns._ID
    };

    Cursor c = null;
    Uri u = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    try {
        if (u != null) {
            c = managedQuery(u, projection, null, null, null);
        }
        if ((c != null) && (c.moveToLast())) {

            ContentResolver cr = getContentResolver();
            int i = cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, BaseColumns._ID + "=" + c.getString(c.getColumnIndex(BaseColumns._ID)), null);

            Log.v(LOG_TAG, "Number of column deleted : " + i);

        }
    } finally {
        if (c != null) {
            c.close();
        }
    }
}


请在onActivityResult中调用上述函数。

关于android - 如何停止MediaStore.ACTION_IMAGE_CAPTURE复制图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7499458/

10-09 01:42