当前位置: 首页 > 知识库问答 >
问题:

在onActivityResult方法之外使用捕获的图像位图

戚同
2023-03-14

我正在使用相机意图从我的活动中拍照,如下面的代码所示,但我需要在onActivityResult()方法之外使用捕获的图像位图,但这是不工作的,我试图声明位图在方法之外,然后使用外部方法,但这并没有工作,它似乎位图没有抓住图像中的onActivityResult,所以任何人都可以帮助为了使用位图的捕获图像之外的方法或保存它,并获得它的路径像使用选择图像从图库,所以我的目标是在onActivityResult()方法之外使用捕获图像的位图进行图像处理,下面是我的代码,谢谢

 captureButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (checkSelfPermission(Manifest.permission.CAMERA)
                        != PackageManager.PERMISSION_GRANTED) {
                    requestPermissions(new String[]{Manifest.permission.CAMERA},
                            MY_CAMERA_PERMISSION_CODE);
                } else {
                    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                    startActivityForResult(cameraIntent, CAMERA_REQUEST);
                }
            }
        });

这是onActivityResult()方法:

 @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);



    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {

        Bitmap photo = (Bitmap) data.getExtras().get("data");

        imageSelected.setImageBitmap(photo);


    }
}

共有1个答案

莫宁
2023-03-14

我尝试了这些步骤,它对我有效

1)定义一个位图对象上面的你的onCreative方法,如以下

Bitmap photo; 

2)而不是位图照片=(位图)data.getExtras(). get(数据);onActivityResult中写入以下代码

photo = (Bitmap) data.getExtras().get("data");

之后,你可以在你喜欢的活动中随处访问你的照片对象

 类似资料: