2011-05-27 80 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)); 

相關問題