没有从相机获取图像

时间:2012-08-27 05:53:57

标签: android android-intent

我发送的相机意图是Extra的路径。但结果我没有得到图像路径。我哪里错了?

我的代码是

 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
               if (!APP_FILE_PATH_Images.exists()) 
                {
                     APP_FILE_PATH_Images.mkdirs();
                }
             Uri uriSavedImage  =Uri.fromFile(new File(APP_FILE_PATH_Images+ File.separator +
                        "IMG_"+ getTimeStamp() + ".jpeg"));
             cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
             startActivityForResult(cameraIntent, CAMERA_REQUEST); 

onActivityResult代码是:

    else if(requestCode==CAMERA_REQUEST)
                {
                    Uri selectedImage = data.getData();
                    String[] proj = { MediaStore.Images.Media.DATA };
                    Cursor cursor = getContentResolver().query(selectedImage, proj, null, null, null);
                    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
                    cursor.moveToFirst();

                    final String filePath = cursor.getString(column_index);
                    Log.i("File path", filePath+"");
                    cursor.close();
                    runOnUiThread(new Runnable()
                    {
                        @Override
                        public void run() 
                        {
                            imageData= new ImagesData();
                            imageData.Source= filePath;
                            imageData.isVector= false;
                            addImage(imageData);
                        }
                    });

                }

我可以使用相同的代码获取视频。 谢谢,

1 个答案:

答案 0 :(得分:0)

您不需要在结果中返回路径:它将是您传入的路径。在结果返回时尝试使用该URI。 (换句话说,不要尝试从Intent中读取它,只需将其保存在本地。)这与捕获视频不同。有关详细信息,请参阅:http://developer.android.com/training/camera/photobasics.html