2011-05-27 67 views
1

我想要使用设备相机显示图像捕捉,并且为此我使用了下面的代码。但是我在onActivityResult .so中返回的数据中获得了null值,请为我提供解决方案..在Android设备中使用相机显示图像捕获

感谢,

,我的代码是:URI的

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

值为空,给空指针异常,请帮我

+0

看到这个http://stackoverflow.com/questions/5991319/capture-image-from-camera-and-display -in活动 – Nepster 2014-06-19 13:39:37

回答

2

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

,你也可以参考this blog

0

获取解决方案终于


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

相关问题