用相机拍照后意图为空

时间:2012-11-10 15:03:36

标签: android android-intent android-widget

我试图在拍照后通过相机的意图传递文件位置和ID。

在此代码中会发生这种情况:

            btaddphoto.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Integer vraagnr = Integer.parseInt(lblQuestionNr.getText().toString());

                String _path = Environment.getExternalStorageDirectory().toString() + File.separator + "photo_" + vraagnr.toString() + ".png";
                File file = new File(_path);
                Uri outputFileUri = Uri.fromFile(file);

                Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
                intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
                intent.putExtra("view", newview.Id);

                ((Activity) ctx).startActivityForResult(intent, newview.Id);

            }
        });

在此代码中,意图存在,又名不为空。

在此代码中数据为null:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    }

为什么数据为空? 它与OnClick事件中的Intent的Intent不同吗?

RG, 埃里克

1 个答案:

答案 0 :(得分:2)

,这与您在 onClick 事件中发送的Intent不同。此Intent作为来自相机活动的响应返回(即 android.media.action.IMAGE_CAPTURE )。在这里(在 onActivityResult 中),您需要检查数据对象是否为null,然后相机活动没有返回任何数据。