0

直升机,

我有两个活动 A 和 B。活动 AI 中有一个谷歌地图和一个按钮。按钮允许我拍照。拍照后我想在活动 B 中编辑它并给出标题等。

这是我在活动 A 中的方法,我点击按钮拍照

private void onTakeFoto() {


    Intent fotoIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

    startActivityForResult(fotoIntent, CAMERA_RESULT);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK && requestCode == CAMERA_RESULT) {

        Intent intentB = new Intent(this, B.class);
        startActivityForResult(intentB , CAMERA_RESULT);

    }

}

在活动 BI 中有一个 imageView 和 EditText。我想在 activty B 的 imageView 中显示捕获的图像。我该怎么做?有人可以给我小费吗?

谢谢

在我的 onActivityResult 我现在有这个代码:

String res = null;
        String[] proj = {MediaStore.Images.Media.DATA};
        Cursor cursor =  getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj, null, null, null);
        if (cursor.moveToLast()) {
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            res =  cursor.getString(column_index);
                            cursor.close();
                Bitmap bitMap = BitmapFactory.decodeFile(res);
                m_currentImage.setImageBitmap(bitMap);

        }

正如我所说,我得到了其他图像,而不是捕获的图像。有人能告诉我错误在哪里吗?

4

4 回答 4

0

You can pass the result of fotoIntent activity to the new B activity via putExtra

于 2013-05-19T19:17:12.500 回答
0

One suggestion please do the decoding of image on other thread and not on UI Thread.

于 2013-05-19T19:19:44.467 回答
0

终于找到答案了

 if (resultCode == RESULT_OK && requestCode == CAMERA_RESULT) {

        Bitmap captureImage = (Bitmap) data.getExtras().get("data");
        m_currentImage.setImageBitmap(captureImage);
  }
于 2013-06-17T19:27:21.050 回答
0

您可以在Activity B类中启动相机并拍照并将图片设置在imageview上。使用这种方式...

@Override
    protected void onActivityResult(int requestCode, int resultCode,
            Intent resultData) {
        super.onActivityResult(requestCode, resultCode, resultData);



        try {

            if ( resultData != null) {

                String[] projection = { MediaStore.Images.Media.DATA };
                Cursor cursor = managedQuery(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        projection, null, null, null);
                int column_index_data = cursor
                        .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToLast();

                uploadImagePath = cursor.getString(column_index_data);
                bitmapUploadImage = BitmapFactory.decodeFile(uploadImagePath);
                profileImageView.setImageBitmap(bitmapUploadImage);
于 2013-05-19T17:17:11.897 回答