Отображение захвата изображения с помощью камеры на устройстве Android - PullRequest
1 голос
/ 27 мая 2011

Я хочу, чтобы отобразить захват изображения с помощью камеры устройства, и для этого я использовал ниже code.but я получаю нулевое значение в данных, которые возвращаются в onActivityResult. Поэтому, пожалуйста, предоставьте мне решение для этого ..

спасибо,

и мой код:

          File root = new File(Environment.getExternalStorageDirectory()+"/TestCameraGallery");
                 root.mkdirs();
                 MyCameraGallery = new File(root, "mycamerapicname");

                 Uri outputFileUri = Uri.fromFile(MyCameraGallery );

                 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                 intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

                 startActivityForResult(intent, CAMERA_PIC_REQUEST);

     @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    super.onActivityResult(requestCode, resultCode, data);

            if(requestCode == CAMERA_PIC_REQUEST)
    {
        Uri uri = data.getData();
             }
     }

значение uri равно нулю и дает исключение нулевого указателя, поэтому, пожалуйста, помогите мне

Ответы [ 2 ]

2 голосов
/ 19 апреля 2012

Используя ваш код, вы получите изображение с низким разрешением.Если вы хотите получить изображение с высоким разрешением, вы можете сослаться на этот ответ.

А также вы можете сослаться на этот блог

0 голосов
/ 29 ноября 2011

получить решение окончательно

<br></p> <pre><code> String imageName = "image.jpg" ; ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.TITLE, imageName); uri_captureImage = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri_captureImage); startActivityForResult(intent, requestCode_camera);



и onAcitivity для результата

<br> </p> <pre><code>String[] projection = new String[] {MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery(uri_captureImage, projection, null, null, null); cursor.moveToFirst(); String capimage_path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));

...