1

我试图在拍照后通过相机的意图传递文件位置和 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);

            }
        });

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

在此代码中,数据为空:

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

为什么数据为空?和 OnClick 事件中的 Intent 不是同一个 Intent 吗?

rg,埃里克

4

1 回答 1

2

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

于 2012-11-10T15:25:17.223 回答