在 android 设备中使用相机显示图像捕获

Posted

技术标签:

【中文标题】在 android 设备中使用相机显示图像捕获【英文标题】:Display image capture using camera in android device 【发布时间】:2011-09-03 06:06:19 【问题描述】:

我想使用设备摄像头显示图像捕获,为此我使用了下面的代码。但是我在 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 的值为 null 并给出空指针异常所以请帮助我

【问题讨论】:

看到这个***.com/questions/5991319/… 【参考方案1】:

使用您的代码,您将获得低分辨率图像。如果您想获得高分辨率图像,您可以参考this answer.

你也可以参考this blog

【讨论】:

【参考方案2】:

最终得到解决方案

       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 中获取结果

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));

【讨论】:

以上是关于在 android 设备中使用相机显示图像捕获的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中显示最后从相机捕获的图像?

android中三星设备上的相机捕捉方向

从相机捕获图像并将其显示在android的另一个活动中

Android 捕获和显示图像应用程序

为啥使用相机意图捕获的图像会在 Android 上的某些设备上旋转?

使用android相机捕获图像后的空指针