capturar imágenes con MediaStore.ACTION_IMAGE_CAPTURE en Android

Estoy capturando imágenes usando MediaStore.ACTION_IMAGE_CAPTURE con la intención. está funcionando bien en la mayoría de los dispositivos. pero no está funcionando correctamente en algún dispositivo Android más reciente como se esperaba.

mi intención es capturar la imagen con la cámara y enviarla al servidor, pero no guardarla en la galería predeterminada del dispositivo.

**: Cuando capturo una imagen, está devolviendo otra imagen de galería en el método onActivityResult en lugar de la imagen capturada en algunos dispositivos Android más recientes. Estoy usando el código de abajo para capturar y almacenar imágenes.

public void launchCamera(View v) {
    Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(camera, CAMERA_PIC_REQUEST );
}

En el método onActivityResult,

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())) {
                    Bitmap thumbnail = getBitMapFromLocalPath(c.getString(2), 3);
                    idsImagesgot.add(thumbnail);
                    ContentResolver cr = getContentResolver();
                    cr.delete( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                            BaseColumns._ID + "=" + c.getString(3), null);
                }
            } finally {
                if (c != null) {
                    c.close();
                }
            }

¿Puede alguien ayudarme en este sentido?

Gracias por adelantado.

Sathish

Respuestas a la pregunta(2)

Su respuesta a la pregunta