0

Androidカメラを使用して写真を撮るプログラムを開発しています。しかし、写真をキャプチャすると、/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 バージョンで発生したわけではありませんが、2 つ目のコピーが存在するかどうかを確認して、コピーを削除しようとしました。次のコードを使用して、最後に撮影した写真を見つけました。

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 に答える