Android照片捕获错误

时间:2013-08-05 20:35:32

标签: android upload photo mediastore

我想在may app中捕捉相机照片... 这就是我所拥有的: 照片已保存,但在活动结果上,我得到Null点异常。 我有什么可能错过的?

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

1 个答案:

答案 0 :(得分:0)

编辑,看来我没有仔细阅读你的问题。看来问题是当你使用EXTRA_OUTPUT时,会传回一个空意图。如果您想要访问您的数据,只需查询您传入的文件即可。有关详细信息,请参阅thisthis 问题。