0

我正在开发一个使用安卓相机拍照的程序。但是当我捕获图片时,我将在 /sdcard/dcim 和我的输出目录中都有 2 个结果图片。这种情况发生在我的 htc 愿望和 sumsung p1000 中,但在我的 huwei 设备中,图片只会保存在我的输出目录中,/sdcard/dcim 中没有副本。为什么以及如何解决它?

这是我调用相机的代码

    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(strFilePath)));
    startActivityForResult(intent, CAMERA_RESULT_CODE_PIC_TAKEN);
4

1 回答 1

2

我有同样的问题,无法解决。该行为并非在所有设备和/或所有 Android 版本上都发生,但我试图找出是否存在第二个副本并删除该副本。我使用以下代码查找最后拍摄的照片。

String[] projection = new String[]{MediaStore.Images.ImageColumns._ID,MediaStore.Images.ImageColumns.DATA,MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,MediaStore.Images.ImageColumns.DATE_TAKEN,MediaStore.Images.ImageColumns.MIME_TYPE};     
        final Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,projection, null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC"); 
        if(cursor != null){
            cursor.moveToFirst();
            // you will find the last taken picture here
            cursor.close();
        }

但由于对这个解决方案不满意,最后我决定编写一个自定义相机应用程序以避免奇怪的行为。

于 2012-05-29T08:13:42.473 回答