0

我正在尝试在可能的应用程序中捕获相机照片......这就是我所拥有的:照片已保存但在活动结果上,我得到空点异常。我可能会错过什么?

private Uri getImgUri() {
    File filePath= new File(Environment.getExternalStoragePublicDirectory   (Environment.DIRECTORY_PICTURES),APP_ALIAS);
    if(!filePath.exists()){
        if(!filePath.mkdirs())
            return null;
    }
    String timeStamp= new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String path=filePath.getPath()+File.separator+"_IMG"+timeStamp+".jpg";
    File file=new File(path);
    return Uri.fromFile(file);
}

private void startGetPicFromCam() {

    Intent intent= new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    Uri uri= getImgUri();
    intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
    startActivityForResult(intent,MEDIA_CAPTURE_RESULT_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   // super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==MEDIA_CAPTURE_RESULT_CODE){
        if(resultCode==RESULT_OK){
            try{
            if(data.getData()!=null)
            Toast.makeText(this,"saved to "+data.getData(),Toast.LENGTH_LONG).show();
            else
                Toast.makeText(this,"saved to path",Toast.LENGTH_LONG).show();
            }
            catch(Exception e){
                Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
            }
        }
    }
}
4

1 回答 1

0

编辑,看来我没有足够仔细地阅读您的问题。问题似乎在于,当您使用 EXTRA_OUTPUT 时,会传回一个空意图。如果您想访问您的数据,只需查询您作为额外文件传入的文件。有关更多详细信息,请参阅问题和问题。

于 2013-08-05T20:38:56.487 回答